Skip to content
This repository has been archived by the owner on Sep 1, 2021. It is now read-only.
Tolik Pylypchuk edited this page Feb 21, 2018 · 6 revisions

Welcome to the CSX wiki!

CSX was written because I wanted to see how some functional constructs would look in C#. Spoiler: they aren't particularly pretty. I think it's mainly because of C# lack of type inference, curried functions and union types.

This library contains the following:

I chose to implement those structures using inheritance, with the base class being the structure, and subclasses its cases. I'm not sure it's the best way to do it, but it lets polymorphism deal with choosing the right cases thus eliminating a lot of boilerplate. And it's similar to Scala's sealed trait/final case classes pattern of defining union types.

Also, CSX is super strcit about null values.

Clone this wiki locally