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
de53c59732
Organize into a library
2018-10-11 01:26:00 -04:00
763f9b341c
2018-10-10 16:10:04 -04:00