AFSM-0.1.3.1: Arrowized functional state machines

Copyright(c) Hanzhong Xu, Meng Meng 2016,
LicenseMIT License
Maintainerhanzh.xu@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Control.AFSM.TF

Contents

Description

 

Synopsis

Documentation

transSM2TF :: SM t (s, a) (s, b) -> TF s a b Source #

transform `SM t (s, a) (s, b)` to `TF s a b`

idTF :: TF s a a Source #

composeTF :: TF s b c -> TF s a b -> TF s a c Source #

arrTF :: (a -> b) -> TF s a b Source #

firstTF :: TF s a b -> TF s (a, c) (b, c) Source #

leftTF :: TF s a b -> TF s (Either a c) (Either b c) Source #

rightTF :: TF s a b -> TF s (Either c a) (Either c b) Source #

sumTF :: TF s a b -> TF s c d -> TF s (Either a c) (Either b d) Source #

faninTF :: TF s a c -> TF s b c -> TF s (Either a b) c Source #

appTF :: TF s (TF s a b, a) b Source #

loopTF :: TF s (a, c) (b, c) -> TF s a b Source #

Orphan instances

Arrow (TF s) Source # 

Methods

arr :: (b -> c) -> TF s b c #

first :: TF s b c -> TF s (b, d) (c, d) #

second :: TF s b c -> TF s (d, b) (d, c) #

(***) :: TF s b c -> TF s b' c' -> TF s (b, b') (c, c') #

(&&&) :: TF s b c -> TF s b c' -> TF s b (c, c') #

ArrowChoice (TF s) Source # 

Methods

left :: TF s b c -> TF s (Either b d) (Either c d) #

right :: TF s b c -> TF s (Either d b) (Either d c) #

(+++) :: TF s b c -> TF s b' c' -> TF s (Either b b') (Either c c') #

(|||) :: TF s b d -> TF s c d -> TF s (Either b c) d #

ArrowApply (TF s) Source # 

Methods

app :: TF s (TF s b c, b) c #

ArrowLoop (TF s) Source # 

Methods

loop :: TF s (b, d) (c, d) -> TF s b c #

Category * (TF s) Source # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat a c #