Commit Graph

48 Commits

Author SHA1 Message Date
Allele Dev
a2914d7eef
add: GHC 8 support 2016-06-25 15:08:34 -04:00
Allele Dev
ba71d26a16 Merge branch 'topic/remove_asks' into 'master'
Remove asks from examples.



See merge request !6
2016-04-21 00:50:24 +00:00
Tim McGilchrist
e1107cb059 Remove asks from examples. 2016-04-21 08:58:47 +10:00
Allele Dev
f332bc71b0 Merge branch 'fix-tests' into 'master'
Fix tests: Add Tests.Coroutine to cabal file

Addresses #5 

See merge request !5
2016-04-17 02:36:16 +00:00
Allele Dev
d09e9e5075
ensure Tests.Coroutine is included 2016-04-16 21:34:33 -05:00
Allele Dev
3ba79b765b
prevent stack.yaml from being checked in 2016-04-16 21:33:09 -05:00
Allele Dev
d8770d1a20
rm: stack.yaml - should be generated by user 2016-04-16 21:32:38 -05:00
Allele Dev
fe8b456f04 Merge branch 'topic/asks' into 'master'
Add asks function same as Control.Monad.Reader.



See merge request !4
2016-04-17 02:30:42 +00:00
Allele Dev
62f201e673 Merge branch 'topic/reader_examples' into 'master'
Haddock examples for Reader effects.

Simple examples that mirror those in Control.Monad.Reader.

See merge request !3
2016-04-17 02:29:51 +00:00
Tim McGilchrist
f711144f83 Add asks function same as Control.Monad.Reader. 2016-04-14 09:40:57 +10:00
Tim McGilchrist
3e24046cef Haddock examples for Reader effects. 2016-04-14 09:21:49 +10:00
Allele Dev
41d43f07ce
correct repo location 2016-04-06 15:30:00 -05:00
Allele Dev
c40cdc7e9b
Merge branch 'master' of gitlab.com:queertypes/freer 2016-04-06 15:28:17 -05:00
Allele Dev
36fb6d62bc Merge branch 'master' into 'master'
Various improvements and fixes.

* Fixed `ifte` and made the `nonDetEffTests` better.
* Fixed `runC` for the `Yield` effect.
* Added a `runM` handler for running an arbitrary monad (if it's the only effect left to handle).
* Added a `modify` function for the State effect.
* Removed the `ProxyState` type wasn't necessary in favor of `Data.Proxy`.
* Made the `Writer` effect work with arbitrary monoids instead of just lists.

See merge request !2
2016-03-07 12:00:50 +00: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
ae929c9d31 Fixed runC in Coroutine.hs 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
ElvishJerricco
0846542b7d Made writer work with arbitrary Monoids, not just lists 2016-03-03 10:28:06 -05:00
ElvishJerricco
1eaf97ada5 Added modify function for State effect 2016-03-03 10:27:31 -05:00
ElvishJerricco
323bd8113f Use Data.Proxy instead of ProxyState 2016-03-03 10:25:45 -05:00
ElvishJerricco
18379332a6 Added runM for running arbitrary monads as final effects 2016-03-02 05:49:30 -05:00
Allele Dev
9ea4a4e837 add: Members, for type list effects 2016-02-25 19:59:18 -06:00
Allele Dev
a2b5208eea Merge branch 'master' into 'master'
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

See merge request !1
2016-02-26 00:50:42 +00: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
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