713f4b62ae
WIP: MaybeT
2019-04-05 14:16:53 -04:00
6f9ce55404
Add a __repr__ method to Future
2019-02-15 13:51:36 -05:00
Correl Roush
7745f5ff6a
Fix circular imports in Result and Maybe
...
Result and Maybe include methods for converting themselves into each
other. In order for the forward references to work correctly, the
imports need to be module-only imports.
2019-02-15 13:40:45 -05:00
Correl Roush
894e272d16
Bump version to 0.7
2019-01-08 15:54:47 -05:00
Correl Roush
efa13e6f08
Remove Future from generic monad testing
...
The Future tests already re-implement all of the normal tests while
also handling their asynchronous nature. Including them in the generic
tests leave futures unawaited.
2019-01-08 15:40:00 -05:00
Correl Roush
cbe71da3f8
Fix Reader.__repr__ failing when its callable lacks a __name__
2019-01-08 15:34:11 -05:00
Correl Roush
319ac3cb4d
Add __name__ to the "constant" callable in Reader
...
Without it, the __repr__ of Reader may fail
2019-01-08 15:31:58 -05:00
Correl Roush
3d312c1c90
Give Curried its own __repr__ implementation
...
Because a curried function annotation will be based on the original
function signature (won't match Env -> T), I'd rather differentiate
its representation. Otherwise, it looks like something messed up
building a Reader.
2019-01-08 15:24:32 -05:00
Correl Roush
375e5a47e1
Adjust signatures of curried functions
2019-01-08 14:53:33 -05:00
a45af9b5b0
Adjust signatures of Reader instances
2019-01-08 14:53:33 -05:00
116c3cc1ac
Move currying to its own module and give it types
2019-01-08 14:53:33 -05:00
Correl Roush
71db6f311e
Update Future.sequence to accept an iterable of any awaitable object
2019-01-04 11:47:04 -05:00
Correl Roush
e623ba0571
Remove conditional behavior of Future.pure
...
It was not wrapping awaitable values in a new awaitable, which is
incorrect and confusing behavior.
2019-01-04 11:44:38 -05:00
a340cfea68
Ensure the types are correct for all monad methods
2019-01-03 22:28:41 -05:00
7d63ad0849
Bump version to 0.6
2018-12-12 23:23:48 -05:00
2ef3f0b517
Add pytest-asyncio test dependency
2018-12-12 23:04:14 -05:00
93bc193494
Add the Future monad
2018-12-12 23:00:18 -05:00
b08d145da2
Bump version to 0.5
2018-12-12 01:53:10 -05:00
56c2eb2db5
Integrate the Black code formatting tool
2018-12-12 01:53:10 -05:00
7608fa40fe
Add missing result test
2018-12-12 01:17:49 -05:00
90b2ec49ef
Add documentation on the classes provided to the README
2018-12-12 01:07:22 -05:00
8a25d3904f
Add an infix operator for Applicative.apply
2018-12-11 23:22:35 -05:00
58c8d6841b
Add Result.mapError
2018-12-11 22:19:13 -05:00
77bf6b4735
Add Monad.sequence
2018-12-11 22:08:15 -05:00
Correl Roush
83b13a3e74
Bump version to 0.4
2018-12-06 13:56:45 -05:00
Correl Roush
16c87c4d04
Ensure all monoids and monoids implement their appropriate operators
2018-12-06 13:53:07 -05:00
Correl Roush
50a26a7b7a
Add Maybe analogues to Result's to/from Maybe methods
2018-12-06 13:31:09 -05:00
Correl Roush
c85f5537ec
Change class parameter in Result.fromMaybe
2018-12-06 13:31:09 -05:00
Correl Roush
69f8aa86b9
Bump version to 0.3
2018-12-03 16:19:39 -05:00
Correl Roush
c7a5020d89
Add some useful conversion functions
2018-12-03 16:16:04 -05:00
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
Correl Roush
8a3e5c9aac
Add Travis CI deployment configuration
2018-11-29 14:04:28 -05:00
Correl Roush
906a3e9ca4
Add CI and coverage badges
2018-11-29 12:14:26 -05:00
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
Correl Roush
8e5b34f4f9
Prepare for pypi release
2018-11-29 11:13:02 -05:00
Correl Roush
b798eb74ba
Add Reader
2018-10-25 15:15:27 -04:00
a4a46a46c7
More monoids
2018-10-13 02:27:39 -04:00
Correl Roush
8b00d44f39
Consolidate test fixtures
2018-10-12 22:20:31 -04:00
Correl Roush
8c18de5e6f
Ignore coverage on unreachable code branches
...
These code branches should be unreachable in type-safe code.
2018-10-12 15:41:37 -04:00
Correl Roush
711571d807
Add more tests for Result
2018-10-12 15:41:37 -04:00
Correl Roush
c31a9c49ca
Add more tests for Maybe
2018-10-12 14:54:03 -04:00
Correl Roush
68705f25cc
Remove old Monad definition from monads.result
2018-10-12 14:54:03 -04:00
Correl Roush
e21791a8b7
Ignore coverage of repr / base class methods
2018-10-12 14:54:03 -04:00
Correl Roush
1a87d73a5b
Applicative
2018-10-12 14:54:03 -04:00
Correl Roush
7ce173e829
Functor tests
2018-10-12 14:09:05 -04:00
0348e8d82b
Add README
2018-10-11 21:29:57 -04:00
87f92b504f
Add LICENSE
2018-10-11 21:14:03 -04:00
c71b9d6ff6
Rename methods
...
unit -> pure
fmap -> map
2018-10-11 21:06:23 -04:00
f5b0e6e5e4
Monoids
2018-10-11 20:45:56 -04:00
Correl Roush
d38f617ba4
Test that each monad respects monad laws
2018-10-11 12:15:52 -04:00