Commit Graph

215 Commits

Author SHA1 Message Date
Marko Dimjašević
ec84ae4e23 Documentation: fixes an incorrect parameter reference 2019-02-01 15:45:53 -06:00
Alexis King
eb93c6b064 Restructure and simplify README 2018-11-16 09:58:16 -06:00
Alexis King
645809851e Bump stack resolver to lts-12.18 2018-11-15 23:25:45 -06:00
Alexis King
b8dc67d6e3 1.2.1.0 2018-11-15 10:27:53 -06:00
Andre Marianiello
cd7b4c62fd Generalize makeEffect to work with more complicated GADTs 2018-11-15 10:25:45 -06:00
Alexis King
b86b90ddec 1.2.0.0 2018-10-23 11:20:53 -05:00
Alexis King
e0f4c73e90 Update documentation for Control.Monad.Freer.TH 2018-10-23 11:17:01 -05:00
Christian Kjaer Laustsen
992bf2f869 Add TH makeEffect for generating effects from a GADT 2018-10-23 10:25:53 -05:00
Alexis King
f06f1eebd5 Fix a small issue with a code example in the documentation
fixes #11
2018-09-01 14:00:41 -05:00
Alexis King
d64f89e103 Update stack.yml to LTS-12 2018-09-01 13:46:19 -05:00
Alexis King
b906323bd7 Update stack.yaml to use GHC 8.2.1 by default 2018-02-20 11:02:45 -08:00
Alexis King
3bf19ac613 1.1.0.0 2018-02-20 10:52:25 -08:00
Alexis King
76df37ce2e Re-export (~>) from Control.Monad.Freer 2018-02-20 10:47:38 -08:00
Alexis King
438a5da5a3 Swap the order of some type variables in interpretM for consistency 2018-02-20 10:45:47 -08:00
Alexis King
99e26fae04 Change LastMember to cooperate better with rigid vars and local dicts
The use of a closed type family works well when the entire effect list
is known, but when it’s quantified over, the closed type family gets
stuck (since the effect list is rigid). Sometimes this is okay, since it
simply means the LastMember constraint is insoluble, but can be
satisfied if an explicit constraint brings a local LastMember dictionary
into scope. Performing the recursion directly in the instance avoids
this problem, though it does require overlapping instances.

fixes #6
2018-02-20 10:35:14 -08:00
Adam Szkoda
a2ae7109ad Add missing bits so the README code compiles 2018-02-19 14:14:39 -06:00
Justus Adam
db512cc9f5 Fixed one errant runState use 2018-02-19 14:14:01 -06:00
Alexis King
dedbacec57 1.0.1.1 2018-01-31 10:27:13 -08:00
Lysxia
bbbe49d848 Fix FindElem while preserving error messages 2018-01-31 10:19:43 -08:00
Alexis King
9be94608dd 1.0.1.0 2018-01-27 10:10:53 -08:00
Martin Huschenbett
9aa407f674 Add Control.Monad.Freer.State.gets 2018-01-27 11:01:17 +01:00
Alexis King
888465fd06 Properly commit changelog.md to CHANGELOG.md renaming
This was previously ignored due to filesystem case insensitivity.
2017-12-08 15:18:45 -08:00
Alexis King
3c09ca2c6d Add the subsume handler for deduplicating effects 2017-12-07 16:10:29 -08:00
Alexis King
9b3ca1df06 Remove GHC 8.2.1 builds from allowed failures in CI
This reverts 5afdb229bb now that
commercialhaskell/stack#3624 is fixed.
2017-12-07 13:40:04 -08:00
Alexis King
9885dc72ce Disable -Wredundant-constraints in a module that uses custom type errors
Also, constraint extensible-effects to < 2 in benchmarks to use the
non-freer implementation.
2017-12-07 11:54:02 -08:00
Alexis King
175d3e5097 1.0.0.0 2017-12-07 11:03:39 -08:00
Alexis King
f913ead45d Make some minor updates to the README 2017-12-07 10:59:37 -08:00
Alexis King
0ad30411c0 Add documentation for Control.Monad.Freer 2017-12-07 10:53:23 -08:00
Alexis King
5afdb229bb Allow GHC 8.2.1 builds to fail in CI
This is a temporary workaround for commercialhaskell/stack#3624.
2017-12-06 16:33:13 -08:00
Alexis King
cbe6d68cdc Limit parallelism in CI builds to avoid out-of-memory errors 2017-12-06 16:25:38 -08:00
Alexis King
47b537534f Remove the StateRW module, since it wasn’t very useful 2017-12-06 16:24:09 -08:00
Alexis King
6cf9abcf88 Make some minor tweaks to the example and change maintainer in comments 2017-12-06 16:20:46 -08:00
Alexis King
207be8e9d7 Clean up some more, remove some half-baked effects 2017-12-06 15:48:25 -08:00
Alexis King
e89ed8911f Rename project to freer-simple 2017-12-06 13:20:52 -08:00
Alexis King
8a5570174c Update copyright notices 2017-12-06 11:50: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
4b2ffbb8a0 Reintroduce freer’s code of conduct 2017-12-05 14:48:00 -08:00
Alexis King
594f4518b6 Rename Exception to Error and add some more effect handlers 2017-12-05 14:42:29 -08:00
Alexis King
83a37ee3a8 Rename translateM to interpretM and use it in the Console example 2017-07-06 14:10:03 -07:00
Alexis King
0bbe540c78 Add translate and translateM effect interpreter constructors
These simply help to avoid type annotations by providing some common
cases of effect interpreters.
2017-07-06 11:05:37 -07:00
Alexis King
5d8a224b35 Make it easier to interpret actions in a polymorphic monad
Specifically, this adds sendM, which is identical to send but explicitly
selects the final effect to aid type inference, and it also includes a
MonadBase instance for Eff.
2017-07-06 10:41:12 -07:00
Alexis King
bff3a6fee6 Completely change the exposed API for building effect handlers
This changes the way effect handlers work by removing the more complex
handleRelay and replaceRelay functions and replacing them with a much
simpler, much more opinionated API. The old functions are still
available for now in Control.Monad.Freer.Internal if they are needed.
2017-07-06 10:10:02 -07:00
Alexis King
f360d563d4 Add custom type errors for unsolvable Member constraints 2017-07-05 14:51:01 -07:00
Tomas Janousek
39a7e62cc0 Update changelog (PR #41) 2017-05-10 15:13:24 +02:00
Sandy Maguire
9f6ff9f67d add raise 2017-05-10 15:11:32 +02:00
Tomas Janousek
84762417b7 Release Process: (ab)use merges to make releases reachable 2017-04-16 17:17:12 +02:00
Tomas Janousek
f6128df82a Merge branch 'hlint-backport' into master 2017-04-16 17:02:31 +02:00
Tomas Janousek
9500d8af26 Release 0.3.0.1 2017-04-16 16:38:31 +02:00
Tomas Janousek
5f467b53db Fix hlint "Use module export list" warnings
Addresses #31
2017-04-16 16:38:29 +02:00
Tomas Janousek
988a2987d3 Disable test-hlint flag for non-developer builds
There's little point in having our tests fail randomly whenever hlint
adds new warnings. It just generates noise and work for stackage
curators.

Addresses #31
2017-04-16 16:38:23 +02:00