git.iko.soy/effects-benchmarks
on master help sign in
Make things work with FE 1.0.
commit3416436ae9a6de9f2fe9e7a3662c8af5a0be615d authorPatrick Thomson <patrickt@github.com> dateSun 2 Aug 2020, 13:48 (6 years ago) parent7b042d3
4 files changed+13−14
effects-benchmarks.cabal+1−2 instances/Fused/HTTP.hs+5−5 instances/Fused/Stateful.hs+3−3 instances/Fused/StatefulExcept.hs+4−4
effects-benchmarks.cabal+1−2
@@ -54,7 +54,7 @@ library instances-for-fused-effects
5454 exposed-modules: Fused.Stateful
5555 , Fused.StatefulExcept
5656 , Fused.HTTP
57− build-depends: fused-effects >= 0.5
57+ build-depends: fused-effects > 1 && <1.1
5858
5959library instances-for-freer-simple
6060 import: shared
@@ -83,7 +83,6 @@ benchmark effects-benchmarks
8383 , instances-for-polysemy
8484 , instances-for-shallow
8585 , instances-for-exteff
86− , dump-core
8786 , gauge
8887 , weigh
8988 , polysemy
instances/Fused/HTTP.hs+5−5
@@ -3,10 +3,10 @@
33
44module Fused.HTTP where
55
6−import Control.Effect
7−import Control.Effect.Carrier
6+import Control.Algebra
87import Control.Monad.IO.Class
98import GHC.Generics (Generic1)
9+import Control.Carrier.Lift
1010
1111newtype HttpC m a = HttpC { runHttpC :: m a }
1212 deriving newtype (Applicative, Functor, Monad, MonadIO)
@@ -33,13 +33,13 @@ get' = send (HGet pure)
3333
3434type HttpM = HttpC (LiftC IO)
3535
36−instance (Effect sig, Carrier sig m) => Carrier (HTTP :+: sig) (HttpC m) where
37− eff (L act) = case act of
36+instance (Effect sig, Algebra sig m) => Algebra (HTTP :+: sig) (HttpC m) where
37+ alg (L act) = case act of
3838 Open _ k -> k
3939 Close k -> k
4040 Post s k -> k ("posted " <> s)
4141 HGet k -> k "lmao"
42− eff (R other) = HttpC (eff (handleCoercible other))
42+ alg (R other) = HttpC (alg (handleCoercible other))
4343
4444runHttp :: HttpM a -> IO a
4545runHttp = runM . runHttpC
instances/Fused/Stateful.hs+3−3
@@ -2,10 +2,10 @@
22
33module Fused.Stateful where
44
5−import Control.Effect (run, PureC)
6−import Control.Effect.State.Lazy as State
5+import Control.Carrier.State.Lazy as State
6+import Data.Functor.Identity
77
8−type StateM = StateC Int PureC
8+type StateM = StateC Int Identity
99
1010get :: StateM Int
1111get = State.get @Int
instances/Fused/StatefulExcept.hs+4−4
@@ -2,11 +2,11 @@
22
33module Fused.StatefulExcept where
44
5−import Control.Effect (run, PureC)
6−import Control.Effect.State.Strict as State
7−import Control.Effect.Error
5+import Control.Carrier.State.Strict as State
6+import Control.Carrier.Error.Either
7+import Data.Functor.Identity
88
9−type StateM = StateC Int (ErrorC String PureC)
9+type StateM = StateC Int (ErrorC String Identity)
1010
1111get :: StateM Int
1212get = State.get @Int