HORIZON HASKELLDocslts/ghc-9.14.xd82dee82026-10-12Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · d82dee8 · 2026-10-12

Modulemachines-0.7.4Haskell2010

Data.Machine.Pipe

Allows bidirectional communication between two MachineT. Exposed the same interface of Pipes library.

  • 8 types
  • 11 values
  • Packagemachines-0.7.4
  • Exports19
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourcePipe.hs
valuerequest :: a' -> PlanT (Exchange a' a y' y) o m a
#

Send a value of type a' upstream and block waiting for a reply of type a. request is the identity of the request category.

valuerespond :: a -> PlanT (Exchange x' x a' a) o m a'
#

Send a value of type a downstream and block waiting for a reply of type a' respond is the identity of the respond category.

valuepush :: Monad m => a -> Proxy a' a a' a m r
#

Forward responses followed by requests. push is the identity of the push category.

value(>~>)
  1. :: Monad m
  2. => _a -> Proxy a' a b' b m r
  3. -> b -> Proxy b' b c' c m r
  4. -> _a
  5. -> Proxy a' a c' c m r
#

Compose two proxies blocked while requesting data, creating a new proxy blocked while requesting data. (>~>) is the composition operator of the push category.

valuepull :: Monad m => a' -> Proxy a' a a' a m r
#

Forward requests followed by responses. pull is the identity of the pull category.

value(>+>)
  1. :: Monad m
  2. => b' -> Proxy a' a b' b m r
  3. -> _c' -> Proxy b' b c' c m r
  4. -> _c'
  5. -> Proxy a' a c' c m r
#

Compose two proxies blocked in the middle of responding, creating a new proxy blocked in the middle of responding. (>+>) is the composition operator of the pull category.