Commit graph

48 commits

Author SHA1 Message Date
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