packages feed

freer 0.2.2.2 → 0.2.2.3

raw patch · 7 files changed

+29/−6 lines, 7 files

Files

bench/Core.hs view
@@ -144,7 +144,7 @@         bench "freer" $ whnf (run . runHttp) prog       , bench "free" $ whnf runFHttp prog' -      , bench "freerN"      $ whnf (run . runHttp . p) 1000000-      , bench "freeN"       $ whnf (runFHttp . p')     1000000+      , bench "freerN"      $ whnf (run . runHttp . p) 100000+      , bench "freeN"       $ whnf (runFHttp . p')     100000     ]   ]
examples/src/Main.hs view
@@ -1,4 +1,18 @@+{-# LANGUAGE DataKinds #-} module Main where +import Control.Monad.Freer+import Teletype++runner :: Eff '[Teletype] ()+runner = do+  x <- getLine'+  putStrLn' x+  y <- getLine'+  putStrLn' y+ main :: IO ()-main = print "placeholder"+main = do+  let xs = runTeletypePure ["cat", "fish"] runner+  print xs+  runTeletype runner
freer.cabal view
@@ -1,5 +1,5 @@ name:                freer-version:             0.2.2.2+version:             0.2.2.3 synopsis:            Implementation of the Freer Monad license:             BSD3 license-file:        LICENSE
src/Control/Monad/Freer.hs view
@@ -10,6 +10,7 @@ -} module Control.Monad.Freer (   Member,+  Members,   Eff,   run,   send,
src/Control/Monad/Freer/Internal.hs view
@@ -33,6 +33,7 @@ module Control.Monad.Freer.Internal (   Eff(..),   Member(..),+  Members,   Arr,   Arrs,   Union,
src/Data/Open/Union.hs view
@@ -34,9 +34,12 @@   Union,   decomp,   weaken,-  Member(..)+  Member(..),+  Members ) where +import GHC.Exts+ --------------------------------------------------------------------------------                            -- Interface -- --------------------------------------------------------------------------------@@ -60,6 +63,10 @@ instance (Member' t r (FindElem t r)) => Member t r where   inj = inj' (P :: P (FindElem t r))   prj = prj' (P :: P (FindElem t r))++type family Members m r :: Constraint where+  Members (t ': c) r = (Member t r, Members c r)+  Members '[] r = ()  --------------------------------------------------------------------------------                          -- Implementation --
tests/Tests/Exception.hs view
@@ -38,7 +38,7 @@ incr :: Member (State Int) r => Eff r () incr = get >>= put . (+ (1::Int)) -tes1 :: (Member (State Int) r, Member (Exc String) r) => Eff r b+tes1 :: (Members '[State Int, Exc String] r) => Eff r b tes1 = do  incr  throwError "exc"