the-sett / elm-state-machines / StateMachine

Reusable state machine concepts.


type Allowed

This type is used as a marker to annotate the type of a State with a set of states that it can legally transition into.


type State trans model
    = State model

State captures the type of a state with its type annotated with the states that it can transition into as a phantom type, and the data model that the state has as a concrete part of the state model.

map : (a -> b) -> State tag a -> State tag b

Maps a function over the model within a State.

untag : State tag value -> value

Unboxes the model from within a State.