This project contains some extensions for F#.
- Modern FP abstractions.
- Common FP combinators, generic functions and operators.- Extension methods for common F# types.
- Common FP abstration types: Cont, Reader, Writer, State and their Monad Transformers.
- Generic Computation Expressions and Linq Builders.
- A generic Math module.
- A full Lens/Optics module.
- A Haskell compatibility module.
F#+ types contains methods which are added as extensions and at the same time are made instances of the existing 'Invokables' defined in FsControl Namespace, integrating them with existing .NET types.
It also provides Generic Functions and Operators which may be further extended to support other types.
As an example, there is a
NonEmptyList type which can act as a Functor (instance for Map), an Applicative (instances for Return and Apply) and a Semigroup (MAppend). So code like
map f lst or
lst1 ++ lst2 will work on primitive types (list, seq) but also on
In the Sample folder you can find scripts showing how to use F#+ in your code.
See the documentation for more details.