Monadist
A practical and useful Ruby implementation of a couple of popular monads. Method naming follows the Haskell convention so the gem can be used for trying to understand monads (mostly described in tutorials using Haskell).
Monads implemented:
- Identity (for educational purposes)
- Maybe
- List
- Continuation
- Meanwhile
Installation
Add this line to your application's Gemfile:
gem 'monadist'
And then execute:
$ bundle
Or install it yourself as:
$ gem install monadist
Usage
For examples on how to use these monads, please check out the examples directory.
Contributing
- Fork it ( https://github.com/[my-github-username]/monadist/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request