The purpose of this project is to teach myself about Monads and Functors.
And the best way to teach myself was by implementing some of the commonly used monads and functors.
As a starting step my goal is to implement map
and flatMap
for each monad as well as show some good usage examples.
I'm still undecided on implementing ap
for Applicatives but if I find a very good example to showcase then I plan to do it.
The examples also try to show composing monads via chaining them as method calls.
The following monads are implemented so far:
- Either Monad
- Writer Monad
- Reader Monad
- WIP: State Monad
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.rajasharan:java8-easy-monads:master-SNAPSHOT'
}
$ ./gradlew :examples:run
...
The MIT License (MIT)