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
93bc193494
Add the Future monad
2018-12-12 23:00:18 -05:00
7608fa40fe
Add missing result test
2018-12-12 01:17:49 -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
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
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
b798eb74ba
Add Reader
2018-10-25 15:15:27 -04:00
a4a46a46c7
More monoids
2018-10-13 02:27:39 -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
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
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