# SwiftMonad

[![Build Status](https://travis-ci.org/Karumi/SwiftMonad.svg?branch=master)](https://travis-ci.org/Karumi/SwiftMonad)

This is not a Library, is only pedagogical materials to help explain and understand, what is a Monad and How it could implmented in Swift.

- Monoid
- MonoidalCategory
- IdentityMonad
- MaybeMonad

Also you will find usage of these classes in the tests implementation.

## References

- Brian Beckman: Don't fear the Monad https://www.youtube.com/watch?v=ZhuHCtR3xq8
- Monads and Gonads https://www.youtube.com/watch?v=b0EF0VTs9Dc
- Erik Meijer: Functional Programming https://www.youtube.com/watch?v=z0N1aZ6SnBk
- http://en.wikipedia.org/wiki/Monad_(functional_programming)

## Contribute
Please, do it! We'd like to improve this library with your help :)
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it) and send us a pull request.

# SwiftMonad

[![Build Status](https://travis-ci.org/Karumi/SwiftMonad.svg?branch=master)](https://travis-ci.org/Karumi/SwiftMonad)

This is not a Library, is only pedagogical materials to help explain and understand, what is a Monad and How it could implmented in Swift.

- Monoid
- MonoidalCategory
- IdentityMonad
- MaybeMonad

Also you will find usage of these classes in the tests implementation.

## References

- Brian Beckman: Don't fear the Monad https://www.youtube.com/watch?v=ZhuHCtR3xq8
- Monads and Gonads Presented by Douglas Crockford https://www.youtube.com/watch?v=b0EF0VTs9Dc
- Erik Meijer: Functional Programming https://www.youtube.com/watch?v=z0N1aZ6SnBk
- http://en.wikipedia.org/wiki/Monad_(functional_programming)

## Contribute
Please, do it! We'd like to improve this library with your help :)
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it) and send us a pull request.

Add reference to Douglas Crockford
Add reference to Douglas Crockford