Will Fancher
86a8212cd8
Added Members Constraint
...
The Members type family (closed) takes two type-level lists, m and r,
as parameters. m contains the effect labels which should be members of
r. The resulting type is a constraint requiring that all elements of m
be members of r.
This simplifies constraints that require multiple members of the same
effect list. For example.
ioState :: (Member IO r, Member (State Int) r) => Eff r ()
becomes
ioState :: Members '[IO, State Int] r => Eff r ()
Furthermore, it allows apps to easily define their typical effect
constraints alongside the typical runtime effect.
type AppEffs = '[State Int, Writer String, IO]
type AppConstraint r = Members AppEffs r
type RunApp = Eff AppEffs
2016-02-07 06:37:45 -05:00
Allele Dev
72c19abc4f
flesh out example
2016-02-01 21:47:14 +00:00
Alej Cabrera
d62a40947b
release(0.2.2.2): fix Open.Union
2015-09-14 02:29:11 -05:00
Alej Cabrera
dc2be626b6
fix(Union): revert GHC.TypeLits; overlaps insts
2015-09-14 02:27:58 -05:00
Alej Cabrera
95bc74803b
release(0.2.2.1): documentation
2015-09-14 02:08:03 -05:00
Alej Cabrera
b67831581f
docs: fix build
2015-09-14 02:07:26 -05:00
Alej Cabrera
f77650b0c7
fix: build - Y -> Status
2015-09-14 02:02:36 -05:00
Alej Cabrera
ca9be3ed22
docs: add module level documentation
2015-09-14 02:01:22 -05:00
Alej Cabrera
e0886b0f79
Open.Union: use GHC.TypeLits.Nat
2015-09-14 00:36:58 -05:00
Alej Cabrera
826c39e17e
add: bench support
2015-09-13 04:51:27 -05:00
Alej Cabrera
4342365bcf
style(tests): address hlint suggestions
2015-09-13 00:17:28 -05:00
Alej Cabrera
85ceb6fbec
cleanup: examples, tests
2015-09-13 00:11:43 -05:00
Alej Cabrera
667aaef032
release(0.2.1.0): add test suite
2015-09-13 00:00:16 -05:00
Alej Cabrera
fd5d8d86c8
release(0.2.0.2): Teletype, cleanup
2015-09-12 14:14:47 -05:00
Alej Cabrera
1ee237a884
release(0.2.0.1): Teletype example
2015-09-12 14:04:59 -05:00
Alej Cabrera
c9677652d2
add(examples): Teletype DSL
2015-09-12 14:04:04 -05:00
Alej Cabrera
7b404638a1
add: expose send from Freer
2015-09-12 14:03:30 -05:00
Alej Cabrera
59645ed8cb
docs(Union): add some commentary
2015-09-12 14:02:25 -05:00
Alej Cabrera
fa212cb126
add(0.2.0): NonDetEff; more clean up
...
* Implement NonDetEff
* Separate Cut/Coroutine out from Internals
* Partial implementation: won't compile yet
* Extract remaining examples from Internal comments
2015-09-12 03:01:16 -05:00
Alej Cabrera
6108d8ee42
docs: README, CoC, changelog
2015-09-12 01:41:06 -05:00
Alej Cabrera
0c6457d3e9
release(0.1.1): fix all warnings; separate examples
2015-09-12 01:21:40 -05:00
Alej Cabrera
b469ca6ffd
style(*): apply hlint
2015-09-12 00:43:39 -05:00
Alej Cabrera
7897b40ec9
initial commit
2015-09-12 00:38:18 -05:00