essence-of-live-coding-0.1.0.2: General purpose live coding framework

Safe HaskellSafe
LanguageHaskell2010

LiveCoding.Migrate.Cell

Contents

Synopsis

Migrations involving sequential compositions of cells

maybeMigrateToComposition1 :: (Typeable state1', Typeable state1) => Composition state1 state2 -> state1' -> Maybe (Composition state1 state2) Source #

migrationToComposition1 :: Migration Source #

Migrate cell1 to cell1 >>> cell2.

maybeMigrateFromComposition1 :: (Typeable state1', Typeable state1) => Composition state1 state2 -> Maybe state1' Source #

migrationFromComposition1 :: Migration Source #

Migrate to cell1 from cell1 >>> cell2.

maybeMigrateToComposition2 :: (Typeable state2', Typeable state2) => Composition state1 state2 -> state2' -> Maybe (Composition state1 state2) Source #

migrationToComposition2 :: Migration Source #

Migrate cell2 to cell1 >>> cell2.

maybeMigrateFromComposition2 :: (Typeable state2', Typeable state2) => Composition state1 state2 -> Maybe state2' Source #

migrationFromComposition2 :: Migration Source #

Migrate to cell2 from cell1 >>> cell2.

migrationComposition :: Migration Source #

Combines all migrations related to composition, favouring the first argument.

Migrations involving parallel compositions of cells

maybeMigrateToParallel1 :: (Typeable state1', Typeable state1) => Parallel state1 state2 -> state1' -> Maybe (Parallel state1 state2) Source #

migrationToParallel1 :: Migration Source #

Migrate cell1 to cell1 *** cell2.

maybeMigrateFromParallel1 :: (Typeable state1', Typeable state1) => Parallel state1 state2 -> Maybe state1' Source #

migrationFromParallel1 :: Migration Source #

Migrate to cell1 from cell1 *** cell2.

maybeMigrateToParallel2 :: (Typeable state2', Typeable state2) => Parallel state1 state2 -> state2' -> Maybe (Parallel state1 state2) Source #

migrationToParallel2 :: Migration Source #

Migrate cell2 to cell1 *** cell2.

maybeMigrateFromParallel2 :: (Typeable state2', Typeable state2) => Parallel state1 state2 -> Maybe state2' Source #

migrationFromParallel2 :: Migration Source #

Migrate to cell2 from cell1 *** cell2.

migrationParallel :: Migration Source #

Combines all migrations related to parallel composition, favouring the first argument.

Migration involving ArrowChoice

maybeMigrateToChoice1 :: (Typeable stateLeft', Typeable stateLeft) => Choice stateLeft stateRight -> stateLeft' -> Maybe (Choice stateLeft stateRight) Source #

migrationToChoice1 :: Migration Source #

Migrate cell1 to cell1 ||| cell2.

maybeMigrateFromChoice1 :: (Typeable stateLeft', Typeable stateLeft) => Choice stateLeft stateRight -> Maybe stateLeft' Source #

migrationFromChoice1 :: Migration Source #

Migrate to cell1 from cell1 ||| cell2.

maybeMigrateToChoice2 :: (Typeable stateRight', Typeable stateRight) => Choice stateLeft stateRight -> stateRight' -> Maybe (Choice stateLeft stateRight) Source #

migrationToChoice2 :: Migration Source #

Migrate cell2 to cell1 ||| cell2.

maybeMigrateFromChoice2 :: (Typeable stateRight', Typeable stateRight) => Choice stateLeft stateRight -> Maybe stateRight' Source #

migrationFromChoice2 :: Migration Source #

Migrate to cell2 from cell1 ||| cell2.

migrationChoice :: Migration Source #

Combines all migrations related to choice.

Control flow

maybeMigrateToExceptState :: (Typeable state, Typeable state') => ExceptState state e -> state' -> Maybe (ExceptState state e) Source #

migrationToExceptState :: Migration Source #

Migration from cell2 to try cell1 >> safe cell2

maybeMigrateFromExceptState :: (Typeable state, Typeable state') => ExceptState state e -> Maybe state' Source #

migrationFromExceptState :: Migration Source #

Migration from try cell1 >> safe cell2 to cell2

migrationExceptState :: Migration Source #

Combines all control flow related migrations

Overall migration

migrationCell :: Migration Source #

Combines all Cell-related migrations.