bluefin-0.6.0.0: The Bluefin effect system
Safe HaskellNone
LanguageHaskell2010

Bluefin.Pipes.Prelude

Description

Reimplementation of the pipes (Pipes) ecosystem in Bluefin.

You should not use this module. It will be deprecated and removed in future versions.

This module is just an example of what you can do with Bluefin and as such it should be obtained from bluefin-examples if you want it. Instead of using it directly you are recommended to use

See also Bluefin.Pipes.

>>> runEff $ \io -> runEffect $ do
      stdinLn io >-> takeWhile' (/= "quit") >-> stdoutLn io
Test
Test
ABC
ABC
quit
"quit"
Synopsis

Producers

stdinLn #

Arguments

:: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects) r. (e1 <: es, e2 <: es) 
=> IOE e1 
-> Producer String e2 
-> Eff es r

͘

repeatM #

Arguments

:: forall (e :: Effects) (es :: Effects) a x' x r. e <: es 
=> Eff es a 
-> Proxy x' x () a e 
-> Eff es r

͘

replicateM #

Arguments

:: forall (e :: Effects) (es :: Effects) a x' x. e <: es 
=> Int 
-> Eff es a 
-> Proxy x' x () a e 
-> Eff es ()

͘

unfoldr #

Arguments

:: forall (e :: Effects) (es :: Effects) s r a x1 x. e <: es 
=> (s -> Eff es (Either r (a, s))) 
-> s 
-> Proxy x1 x () a e 
-> Eff es r

͘

Consumers

stdoutLn #

Arguments

:: forall (e1 :: Effects) (es :: Effects) (e2 :: Effects) r. (e1 <: es, e2 <: es) 
=> IOE e1 
-> Consumer String e2 
-> Eff es r

͘

mapM_ #

Arguments

:: forall (e :: Effects) (es :: Effects) a b b' r. e <: es 
=> (a -> Eff es ()) 
-> Proxy () a b b' e 
-> Eff es r

͘

print #

Arguments

:: forall (e2 :: Effects) (es :: Effects) (e1 :: Effects) a r. (e2 <: es, e1 <: es, Show a) 
=> IOE e1 
-> Consumer a e2 
-> Eff es r

͘

drain #

Arguments

:: forall (e :: Effects) (es :: Effects) b c' c r. e <: es 
=> Proxy () b c' c e 
-> Eff es r

͘

Pipes

map #

Arguments

:: forall (e :: Effects) (es :: Effects) a b r. e <: es 
=> (a -> b) 
-> Pipe a b e 
-> Eff es r

͘

mapM #

Arguments

:: forall (e :: Effects) (es :: Effects) a b r. e <: es 
=> (a -> Eff es b) 
-> Pipe a b e 
-> Eff es r

͘

takeWhile' #

Arguments

:: forall (e :: Effects) (es :: Effects) r. e <: es 
=> (r -> Bool) 
-> Pipe r r e 
-> Eff es r

͘