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

TypedFsm.Driver.Common

Synopsis

Documentation

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

Constructors

SingI i => SomeOperate (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

SingI to => SomeMsg (Msg ps from to) 

data AnyMsg ps Source #

Constructors

(SingI from, SingI to) => AnyMsg (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