Based on Melissa O'Neill's paper, by way of incremental portings:
- Python2 to Python3
- Haskell to Python2
- Original paper, with Haskell implementation
This implementation presents a slightly simplified interface (with input validation) with support for skipping ahead and setting an upper bound. Python versions 2.7 and 3.4 through 3.7 are supported. A test suite is included. Support for 2.6 and 3.0 though 3.3 is expected, but not verified.
Pure Python. There are faster ways to do this.