remote-monad-0.1.0.1: An parametrizable Remote Monad, and parametrizable Applicative Functor

Copyright(C) 2016, The University of Kansas
LicenseBSD-style (see the file LICENSE)
MaintainerAndy Gill
StabilityAlpha
PortabilityGHC
Safe HaskellSafe
LanguageHaskell2010

Control.Remote.Monad.Packet.Strong

Description

 

Synopsis

Documentation

data StrongPacket c p a where Source

A Strong Packet, that can encode a list of commands, terminated by an optional procedure.

Constructors

Command :: c -> StrongPacket c p b -> StrongPacket c p b 
Procedure :: p a -> StrongPacket c p a 
Done :: StrongPacket c p () 

runStrongPacket :: Applicative m => (WeakPacket c p ~> m) -> StrongPacket c p ~> m Source

promote a Weak packet transporter, into a Strong packet transporter.

newtype HStrongPacket c p Source

A Hughes-style version of StrongPacket, with efficent append.

Constructors

HStrongPacket (StrongPacket c p ~> StrongPacket c p)