You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
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.
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.