No description
Find a file
Correl Roush 0072034f99 Configure Travis CI and CodeCov
Configure automated tests with Travis CI, and upload code coverage
reports to codecov.io
2018-11-29 12:06:43 -05:00
monads Add Reader 2018-10-25 15:15:27 -04:00
tests Add Reader 2018-10-25 15:15:27 -04:00
.gitignore Organize into a library 2018-10-11 01:26:00 -04:00
.travis.yml Configure Travis CI and CodeCov 2018-11-29 12:06:43 -05:00
LICENSE Add LICENSE 2018-10-11 21:14:03 -04:00
README.md Prepare for pypi release 2018-11-29 11:13:02 -05:00
setup.cfg Configure Travis CI and CodeCov 2018-11-29 12:06:43 -05:00
setup.py Configure Travis CI and CodeCov 2018-11-29 12:06:43 -05:00

Type-safe Monads

This is an experiment in building monads in Python supported by strict type annotations. The goal is to be able to compose monads with the type checker ensuring their correctness.

Motivation

I'm a fan of monads, but believe they work best with the support of a strong type system. I've attempted to use libraries like PyMonad, but been frustrated by a lack of type constraints preventing incorrect usage. I could've attempted to add type annotations to one of those libraries, but building my own is more fun.