SuccincT (nuget): Succinc<T> is a .NET library that adds a number of functional features to C#: * Discriminated unions, * Pattern matching, * Partial applications, * "Implicitly" typed lambdas, * The ability to treat void methods as Unit functions, * Replacements for TryParse methods that return an Option<T> (or Maybe<T>, if you prefer), rather than using the out parameter anti-pattern. * "cons" support for IEnumerable<T> (add elements to the head of an enumeration, or split an enumeration into its head element and an enumeration containing the remaining items, all without repeatedly enumerating that enumerable). * Indexed enumerations, * Cycle() methods that endlessly repeat an enumeration, again without repeatedly enumerating that enumerable). * Replacements for IEnumerable<T>'s XXXOrDefault methods that return an Option<T> (or Maybe<T>, if you prefer), avoiding null and the "did it return a value, or the default?" problem, * And finally, basic parameter piping support.
Keywords: Partial|application|Discriminated|unions|Options|Maybe|Pattern|matching|cons|functional