Monads in Go lang
(aka "Algebraic GO Specification")
This project specifies interoperability of common algebraic structures:
- Semigroup
- Monoid
- Functor
- Applicative
- Chain
- Monad
The useful lib provides actual implementations of Wishful spec.
An algebra is a set of values, a set of operators that it is closed under and some laws it must obey.
Each algebra is a separate specification. An algebra may have dependencies on other algebras which must be implemented. An algebra may also state other algebra methods which do not need to be implemented and how they can be derived from new methods.
Current supported versions of go.
- 1.3
- Release
- Tip
wishful
is fantasy-land compatible