Commit Graph

8 Commits

Author SHA1 Message Date
ElvishJerricco
972a747806 Merge branches 'runC', 'nonDetEff', 'writerMonoid', 'stateProxy' and 'runM' 2016-03-03 11:39:08 -05:00
ElvishJerricco
e362e9f508 Simple Coroutine test 2016-03-03 10:56:02 -05:00
ElvishJerricco
b1798dc0e2 Improved nonDetEffTests with testProperty 2016-03-03 10:29:13 -05:00
ElvishJerricco
a7f7be7973 Fixed nonDetEffTests
The problem was the definition of `ifte`. It reported `el` if `th` was
`const mzero`.
2016-03-03 10:29:13 -05:00
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
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