Commit Graph

98 Commits

Author SHA1 Message Date
Andrzej Rybczak
48fc2b4f57 Slightly simpler relinkEffects 2022-04-06 21:10:44 +02:00
Andrzej Rybczak
7c1f7b3084 Add inject 2022-04-06 21:10:42 +02:00
Andrzej Rybczak
f3946f8a3f Make unEff more friendly for inlining 2022-04-06 18:33:53 +02:00
Andrzej Rybczak
344433fa9c Better code generation for subsume 2022-04-06 18:32:34 +02:00
Andrzej Rybczak
5d7ed78936 Add a warning about usage of unlifting functions outside of their scope 2022-03-30 01:47:59 +02:00
Andrzej Rybczak
a23a78913d Slight improvement of replaceEnv 2022-03-18 10:59:58 +01:00
Andrzej Rybczak
85fae67bbb Haddock adjustments 2022-03-15 22:09:58 +01:00
Andrzej Rybczak
7195356fc0 Add impose 2022-03-14 13:18:51 +01:00
Andrzej Rybczak
b5d8fb2987 Adjust the signature of interpose 2022-03-14 10:49:55 +01:00
Andrzej Rybczak
12e6bf962f Don't use mask_ in Effectful.Internal.Env
All relevant functions need to be called using bracket anyway.
2022-03-14 10:34:49 +01:00
Andrzej Rybczak
8bd30daf55 Add interpose and subsume 2022-03-14 10:25:26 +01:00
Andrzej Rybczak
a555c81611 Simplify how effects are added and removed from the storage 2022-03-13 21:19:38 +01:00
Andrzej Rybczak
f498219a24 Minor adjustments 2022-03-12 06:40:50 +01:00
Andrzej Rybczak
daca435f0b Rewrite Env for simpler code and support for more operations 2022-03-12 03:19:30 +01:00
Andrzej Rybczak
ce7112a309 Slight improvement to getLocation 2022-03-09 16:51:23 +01:00
Andrzej Rybczak
3890b0a600 Fix forkEnv and tailEnv 2022-03-09 16:24:35 +01:00
Andrzej Rybczak
94e54ea884 Test with GHC 9.2.2 2022-03-07 21:17:21 +01:00
Andrzej Rybczak
9034e8f572 Copy forks properly with over-tailed environment 2022-03-07 04:51:00 +01:00
Andrzej Rybczak
166e7e6188 Rename remaining releaseS to unmaskS 2022-03-07 02:27:40 +01:00
Andrzej Rybczak
013ea33ff4 Haddock improvement 2022-03-07 02:12:55 +01:00
Andrzej Rybczak
cf5e88ddb1 Remove rep-unsafe variants of functions 2022-03-07 02:02:17 +01:00
Andrzej Rybczak
3b72484d53 A bit faster relinking 2022-03-07 01:27:37 +01:00
Andrzej Rybczak
7f4d55595b Store the size of the Env directly and implement raise 2022-03-06 23:32:02 +01:00
Andrzej Rybczak
907a4c10f1 Disable -Wunticked-promoted-constructors
See https://gitlab.haskell.org/ghc/ghc/-/issues/20531.
2022-02-26 03:52:00 +01:00
Andrzej Rybczak
24ea29a134 Fix typo 2022-02-24 22:56:55 +01:00
Andrzej Rybczak
b8c3711cbe Track whether static operations perform side effects 2022-02-16 22:00:09 +01:00
Andrzej Rybczak
cc25dc9ef4 Split Effectful.Dispatch.Static into different modules 2022-02-12 02:44:41 +01:00
Andrzej Rybczak
eef830f5aa Simplify runEff 2022-02-09 18:28:44 +01:00
Andrzej Rybczak
485e3e08f4 Haddock improvements 2022-02-01 13:44:11 +01:00
Andrzej Rybczak
6f60a1e30c Consistently call the unmasking function unmask instead of restore 2022-01-25 23:25:52 +01:00
Andrzej Rybczak
3e6fb33f33 Add intro to Effectful.Dynamic.Dispatch 2022-01-25 23:20:22 +01:00
Andrzej Rybczak
5920c8a628 Fix typo 2022-01-25 11:41:49 +01:00
Andrzej Rybczak
6451445e77 Document dynamic variants of basic effects 2022-01-25 10:21:24 +01:00
Andrzej Rybczak
da73cb6e54 Don't require the Typeable constraint for the error type 2022-01-23 13:42:38 +01:00
Andrzej Rybczak
4df9fd683f Fix haddock 2022-01-23 03:13:04 +01:00
Andrzej Rybczak
2dd351c0cb Fix CI 2022-01-23 02:57:58 +01:00
Andrzej Rybczak
bf6ce5abe3 Move Effectful.Monad to Effectful 2022-01-23 02:04:20 +01:00
Andrzej Rybczak
df9190d3b0 Document static and dynamic dispatch 2022-01-23 02:04:17 +01:00
Andrzej Rybczak
938550b784 Add :>> for more concise type signatures 2022-01-22 16:57:11 +01:00
Andrzej Rybczak
db61b5a324 Add runFailIO 2022-01-12 23:56:13 +01:00
Andrzej Rybczak
5902cfe476 Remove redundant checkSizeEnv 2022-01-11 20:34:32 +01:00
Andrzej Rybczak
89c614b3aa Rename noRelinker to dummyRelinker 2022-01-11 00:00:44 +01:00
Andrzej Rybczak
513e632178 Distinguish between dispatch in module names of base effects
Fixes #50.
2022-01-10 20:19:35 +01:00
Andrzej Rybczak
109d441656
Prevent possibility of mixing functions for different dispatch types (#49)
* Prevent possibility of mixing functions for different dispatch types

* Rename Rep to EffectR

* Turn DataR into a data family

* Fix doctest with GHC 9.2.1

* HandlerR -> Handler, EffectR -> EffectRep, DataR -> StaticRep

* Safer unsafeConsEnv

* Better haddock

* Rename *Data operations to *StaticRep

* Haddock adjustment

* More haddock adjustments

* One more haddock adjustment
2022-01-07 20:28:19 +01:00
Andrzej Rybczak
6632678e2f Add 9.0.2 to CI 2022-01-06 12:19:29 +01:00
Andrzej Rybczak
bc05397c85 Remove broken 9.0.1 from CI
9.0.2 will be added once it's available.
2021-12-29 08:45:31 +01:00
Andrzej Rybczak
1811b919b4 Haddock improvement 2021-12-29 08:44:28 +01:00
Andrzej Rybczak
6506958cce A tiny bit more efficient getLocation 2021-12-29 08:09:18 +01:00
Andrzej Rybczak
3b965edaa8 Shuffle things around 2021-12-28 14:17:00 +01:00
Andrzej Rybczak
f749af5d39 Safer and more descriptive API for static dispatch 2021-12-25 16:22:25 +01:00