RichardWarburton / Monads-in-Java

An encoding of monads in the Java Language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Monads in Java

Simple encoding of monads in the java language.

In order to make class M a monad, implement Monad<M, T>. Then annotate M with @InjectWith, and an appropriate Return<T, M> implementation.

The 'return' and '>>' methods are called 'inject' and 'chainIgnore' and in the Monads utility class.

See main/monad4j.examples.maybe package for a Maybe type as a monad See test/monad4j.examples.maybe.TestMaybeIsAMonad for tests for the 3 monadic laws

About

An encoding of monads in the Java Language


Languages

Language:Java 100.0%