delta-types-1.0.0.0: Delta types, also known as change actions.
Copyright© 2021-2023 IOHK 2024-2025 Cardano Foundation
LicenseApache-2.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Delta.Embedding.Internal

Description

Internal representation of Embedding in terms of state machines.

Synopsis

Documentation

data Machine da db Source #

A state machine that maps deltas to deltas. This machine always carries a state of type Base db around.

Constructors

Machine 

Fields

Instances

Instances details
Semigroupoid Machine Source #

Composition of Machine

Instance details

Defined in Data.Delta.Embedding.Internal

Methods

o :: forall (j :: k) (k1 :: k) (i :: k). Machine j k1 -> Machine i j -> Machine i k1 #

idle :: Delta da => Base da -> Machine da da Source #

Identity machine starting from a base type.

pairMachine :: Machine da1 db1 -> Machine da2 db2 -> Machine (da1, da2) (db1, db2) Source #

Pair two Machines.

fromState :: Delta db => ((Base da, da) -> (Base db, s) -> (db, s)) -> (Base db, s) -> Machine da db Source #

Create a Machine from a specific state s, and the built-in state Base db.