streamproc-1.0: Stream Processer Arrow
Source code
Contents
Index
Control.Arrow.SP
Portability
portable
Stability
provisional
Maintainer
simons@cryp.to
Description
A continuation-based monadic stream processor implemented as an
Arrow
.
References:
John Hughes, "
Generalising Monads to Arrows
":
http://www.cs.chalmers.se/~rjmh/Papers/arrows.pdf
Magnus Carlsson, Thomas Hallgren, "/Fudgets--Purely Functional Processes with applications to Graphical User Interfaces/":
http://www.cs.chalmers.se/~hallgren/Thesis/
Synopsis
data
SP
m i o
=
Put
o (
SP
m i o)
|
Get
(i ->
SP
m i o)
|
Block
(m (
SP
m i o))
runSP
::
Monad
m =>
SP
m () () -> m ()
mapSP
::
Monad
m => (i -> m o) ->
SP
m i o
Documentation
data
SP
m i o
Source
A generic stream processor.
Constructors
Put
o (
SP
m i o)
Get
(i ->
SP
m i o)
Block
(m (
SP
m i o))
Instances
Monad
m =>
Arrow
(
SP
m)
Monad
m =>
ArrowZero
(
SP
m)
Monad
m =>
ArrowPlus
(
SP
m)
Monad
m =>
ArrowChoice
(
SP
m)
Monad
m =>
ArrowLoop
(
SP
m)
runSP
::
Monad
m =>
SP
m () () -> m ()
Source
Evaluate a stream processor.
mapSP
::
Monad
m => (i -> m o) ->
SP
m i o
Source
Use a monadic transformer to map a stream.
Produced by
Haddock
version 2.3.0