No description
Find a file
Correl Roush 23f53d422a Package a type marker file per PEP 561
This will make type annotations usable for projects importing the
library.
2018-12-03 16:15:59 -05:00
monads Package a type marker file per PEP 561 2018-12-03 16:15:59 -05: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 Add Travis CI deployment configuration 2018-11-29 14:04:28 -05:00
LICENSE Add LICENSE 2018-10-11 21:14:03 -04:00
README.md Add CI and coverage badges 2018-11-29 12:14:26 -05:00
setup.cfg Configure Travis CI and CodeCov 2018-11-29 12:06:43 -05:00
setup.py Package a type marker file per PEP 561 2018-12-03 16:15:59 -05:00

Type-safe Monads

Build Status codecov

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.