by SimonRichardson

SimonRichardson /wishful

An attempt of monads in Go lang

130 Stars 9 Forks Last release: Not found MIT License 89 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


Monads in Go lang

Build Status


(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

Fantasy Land Compatible

is fantasy-land compatible

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.