Commit Graph

30 Commits

Author SHA1 Message Date
Andre Marianiello
cd7b4c62fd Generalize makeEffect to work with more complicated GADTs 2018-11-15 10:25:45 -06:00
Christian Kjaer Laustsen
992bf2f869 Add TH makeEffect for generating effects from a GADT 2018-10-23 10:25:53 -05:00
Alexis King
47b537534f Remove the StateRW module, since it wasn’t very useful 2017-12-06 16:24:09 -08:00
Alexis King
207be8e9d7 Clean up some more, remove some half-baked effects 2017-12-06 15:48:25 -08:00
Alexis King
1cd5705bef Reformat project to make the style a little more idiomatic 2017-12-06 11:49:45 -08:00
Alexis King
594f4518b6 Rename Exception to Error and add some more effect handlers 2017-12-05 14:42:29 -08:00
Schell Scivally
a1e415b967 better Fresh for use with Continuation 2017-03-18 13:30:12 +01:00
Schell Scivally
e122b5b343 better Coroutine w/ return value 2017-03-17 21:04:06 +01:00
Peter Trsko
cedd394d9e Applying coding style to tests 2017-03-17 10:31:11 +01:00
Tomas Janousek
e5f8304db9 Use NoImplicitPrelude in tests
And rearrange a few things somewhat, including rewriting the loop tests
almost entirely.

Addresses #5
2017-03-15 14:19:35 +01:00
Peter Trsko
fe1c7fa323 Resolving missing type signature (failing on -Wall)
Addresses #23
2017-03-15 10:48:22 +01:00
Schell Scivally
9840e483da minimal loop example and test 2017-03-15 10:48:22 +01:00
Schell Scivally
7094f57bcd loop example 2017-03-15 10:48:22 +01:00
Schell Scivally
07ee1289bc minimal example of <<loop>> 2017-03-15 10:48:22 +01:00
Matej Kollar
adb48d5921 Issue #11 Separate and rename NonDetEff 2017-02-17 16:19:24 +01:00
Peter Trsko
eb9ec89ec7 Making HLint happy
Partly addresses #6
2017-02-02 20:10:29 +01:00
Peter Trsko
6b1fb624e5 Run HLint as a test-suite
Addresses #5
2017-02-02 20:07:32 +01:00
Peter Trško
ba69fc856d Merge pull request #1 from IxpertaSolutions/evalstate-execstate
Added evalState and execState
2017-01-29 10:44:28 +01:00
Tomas Janousek
85d6c14b03 Use MIN_VERSION_package macros instead of __GLASGOW_HASKELL__
It maybe sort of works for base but for mtl it's downright wrong.
2017-01-28 15:42:44 +01:00
Tomas Janousek
ed556f85ad Fix randomly failing "Multiple readers work" test
Comparing floating points using (==) is a bad idea. I don't see how this
could possible have ever worked. :-/
2017-01-28 12:57:31 +01:00
Sam Quinn
f0045d9d6c Added evalState and execState 2017-01-21 10:36:50 -06:00
Tim McGilchrist
a8f9b354a7 CPP around differences in 7.8 vs 7.10 2016-04-21 11:05:08 +10:00
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