An attempt of monads in Go lang
Go Shell
Switch branches/tags
Nothing to show
Clone or download

README.md

wishful

Monads in Go lang

Build Status

Wishful

(aka "Algebraic GO Specification")

This project specifies interoperability of common algebraic structures:

  • Semigroup
  • Monoid
  • Functor
  • Applicative
  • Chain
  • Monad

Useful

The useful lib provides actual implementations of Wishful spec.

General

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.

Support

Current supported versions of go.

  • 1.3
  • Release
  • Tip

Fantasy Land Compatible

wishful is fantasy-land compatible