Module Preface_make.State

Building a Preface_specs.State, a State transformer.

Using the minimal definition

Build an Preface_specs.STATE over an Inner Preface_specs.MONAD.

Improving API

If there are complementary implementations to Preface_specs.MONAD attached to the Inner Preface_specs.MONAD type, it is possible to promote the Preface_specs.STATE API with these complementary implementations

Functor

If the Inner Preface_specs.MONAD is also a Preface_specs.FUNCTOR, the State monad is also a Preface_specs.FUNCTOR.

Applicative

If the Inner Preface_specs.MONAD is also an Preface_specs.MONAD, the State monad is also an Preface_specs.APPLICATIVE.

Alternative

If the Inner Preface_specs.MONAD is also an Preface_specs.MONAD_PLUS, the State monad is also an Preface_specs.ALTERNATIVE.

Monad

If the Inner Preface_specs.MONAD is also a Preface_specs.MONAD, the State monad is also a Preface_specs.MONAD (this is this functor which is used in the full API definition).

Monad Plus

If the Inner Preface_specs.MONAD is also a Preface_specs.MONAD_PLUS, the State monad is also a Preface_specs.MONAD_PLUS.

Manual construction

Advanced way to build an Preface_specs.STATE, constructing and assembling a component-by-component of Preface_specs.STATE. (In order to provide your own implementation for some features.)

Building Core