Introducing Brittle Fish

Saturday, June 23, 2018 | NuGet

Hello, my name is Mr Earnhard and I would like to talk to you about Brittle Fish. Now, when I say "Brittle Fish", I do not mean fish which are brittle. That would be absurd, frankly. No, what I actually mean is the coolest, most bitchin' and all out radical project on GitHub. That last sentence maybe riddled with sarcasm but the it is still worth checking out.

So, "what is Brittle Fish?" is a question you might be asking right now. Well then, allow me to tell you, regardless of the truth. It is a project for testing and demonstrating Console.Waterworks in a F#-only environment. Now, for those in not in the know, Console.Waterworks is a NuGet package. It helps you write MVC-like (if you look at it from far away) console programs, using the .Net Framework. I could go on about it but it I think it is best to provide a link to the project's wiki [1].

Here is an example of what the NuGet package provides,

Brittle Fish screenshot 1
Screenshot 1: The command-method matches the input in the console at runtime.

As an aside, Console.Waterworks is available in the Full-Framework (4.7+) and Core (2.0+) variations. With that said, the main wiki resides in the Full-Framework repository. This is to avoid repetition. They both operate in the same way and their structure/architecture mirror each other. Basically, if you know one, you know the other.

Anyway, back to the task at hand...

I wrote Console.Waterworks in C# and had no regard for any other language on the CLR, during its creation. The goal was to write it in C# for other C# projects. Over time, I have come to learn and appreciate F# -- it's bloody marvellous! With that said, I could see the "F# Section" looking like a tag-along if I placed it in the main wiki. So, instead of shoving it in the corner, I thought I would make a dedicated place for it to live. If you have a preference for F#, you will not need to do the C#-shuffle which is often the case with most things .Net related. This does not mean it is free of all compromise, though. The obvious one is Brittle Fish is a repository for using Console.Waterworks. It does not attempt to explain, describe or allow you to change any of the Console.Waterworks code. This means you will need to jump (back) into C# if you want to alter it in some way. I do hope you do not find this compromise too frustrating.

Having weighed everything up, I hope you are okay with the outcome. If not, oh well. I cannot please everyone. I am Mr Earnhard and this has been a broadcast for the Brittle Fish project. Thank you.

GitHub Repositories

  1. Main Console.Waterworks Wiki
  2. Brittle Fish Repository
  3. Console.Waterworks Repository
  4. Console.Waterworks.Core Repository
Previous Back Next