Succinc<T> is a .NET library that adds a number of functional features to C#:
TryParsemethods that return an
Maybe<T>, if you prefer), rather than using the
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).
Cycle()methods that endlessly repeat an enumeration or array, again without repeatedly enumerating that enumerable).
XXXOrDefaultmethods that return an
Maybe<T>, if you prefer), avoiding
nulland the "did it return a value, or the default?" problem,
For more details of each of these feature, please refer to the wiki.
V2.2.0 saw the introduction of of JSON.Net serialization support for Succinc<T>. Using the Succinc<T> serializers, all types can now be correctly serialized/deserialized to JSON.
For details, see the Serializing to JSON wiki page.
The current release of Succinc<T> is v4.0.0, which is available as a nuget package that supports .NET 4.6.1+, .NET Core v2.0+ and numerous other frameworks (.NET Standard 2.0).
This release also includes SuccincT.Json v4.0.0, which is available as a separate nuget package that supports .NET 4.6.1+, .NET Core v2.0+ and numerous other frameworks (.NET Standard 2.0). SuccincT.Json is dependent on Succinc<T>, so will pull that package in as part of the install. Also, please note that this nuget package is also dependent on the Newtonsoft.JSON v12.0+ nuget package.
The next release is expected to be v4.1.0. For details of what planned, please see the SuccincT Roadmap for details.
If you wish to fork this repo and build it on your own machine, please refer to the Branches page for details of the currently active branches.
If you wish to contribute in any way (from saying "hi" to submitting a PR), please refer to the Contributing page.