typed-fsm-0.3.0.0: A framework for strongly typed FSM
Safe HaskellNone
LanguageGHC2021

TypedFsm.Driver.Common

Synopsis

Documentation

data SomeOperate ts (m :: Type -> Type) a Source #

Constructors

SomeOperate (Sing i) (Operate m (At a o) i) 

getSomeOperateSing :: forall ts (m :: Type -> Type) a (r :: ts). SingKind ts => SomeOperate ts m a -> Sing r Source #

getSomeOperateSt :: forall ts (m :: Type -> Type) a. SingKind ts => SomeOperate ts m a -> Demote ts Source #

data SomeMsg ps (from :: ps) Source #

Constructors

SomeMsg (Sing to) (Msg ps from to) 

data AnyMsg ps Source #

Constructors

AnyMsg (Sing from) (Sing to) (Msg ps from to) 

data Result ps e (m :: Type -> Type) a Source #

Reuslt of run FSM

  • Finish, return val a
  • A wrapper for SomeOperate that returns the remaining computation when there is not enough input
  • Error happened

Constructors

Finish a 
Cont (SomeOperate ps m a) 
ErrorInfo e