-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Arrowized functional state machines -- -- Arrowized functional state machines. This module is inspired by Yampa -- and the paper Functional Reactive Programming, Continued* -- written by Henrik Nilsson, Antony Courtney and John Peterson. @package AFSM @version 0.1.1.1 -- | Arrowized functional state machines. -- -- This module is inspired by Yampa and the paper Functional Reactive -- Programming, Continued* written by Henrik Nilsson, Antony Courtney -- and John Peterson. module Control.AFSM -- | SM is a type representing a state machine. data SM a b type SMState r a b = r -> a -> (SM a b, b) newSM :: r -> (SMState r a b) -> SM a b simpleSM :: r -> (r -> a -> (r, b)) -> SM a b execSM :: SM a b -> SM [a] [b] exec :: SM a b -> [a] -> (SM a b, [b]) instance Control.Category.Category Control.AFSM.SM instance Control.Arrow.Arrow Control.AFSM.SM instance Control.Arrow.ArrowChoice Control.AFSM.SM instance Control.Arrow.ArrowLoop Control.AFSM.SM