Chapter 12. Existing Functional Programming Libraries in NuGet

It may, or more likely may not, surprise you to learn that I’m not the first person in the world to advocate for functional C#. Far from it. Quite a lot of people have done so before me, many of whom have even created handy libraries you can use to write functional-style code without making it all yourself.

Over the course of this chapter, I’ll talk about each of the libraries that exist in NuGet to provide functional features, how to use them, and what I think of them. Just be aware I didn’t make any of them. I just wrote this book.

A quick note first about the use of NuGet libraries like these. These aren’t necessarily the product of a big company that’s paying its employees to produce a shippable product to customers. Many of them are the work of passionate, talented developers who are doing this work in their spare time. This has both advantages and disadvantages if you’re considering using these packages in a production environment.

The big advantage is that you’ll honestly tend to get a better product in many cases than a company might manage. With no work politics, concerns over the needs of certain high-paying customers, paying staff or arbitrary deadlines, you can often get an amazing product fueled by pure passion.

The downside is that there’s no guarantee that these libraries will always be supported. Real life gets in the way sometimes, in ways that are unavoidable and impossible to predict. A one-person ...

Get Functional Programming with C# now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.