typed-session-state-algorithm-0.1.0.2: Automatically generate status for typed-session.
Safe HaskellSafe-Inferred
LanguageHaskell2010

TypedSession.State.Constraint

Synopsis

Documentation

data Constraint Source #

Constraint 1 ~ 2 = Constraint 1 2 2 ~ 3 = Constraint 2 3

Constructors

Constraint Int Int 

bigSwapConstr :: Constraint -> Constraint Source #

bigSwapConstr >>> bigSwapConstr (Constraint 1 2) Constraint 2 1

findNewConstraint :: [Constraint] -> [[Constraint]] Source #

findNewConstraint >>> findNewConstraint [Constraint 3 1, Constraint 4 2, Constraint 4 3] [[Constraint 3 2]]

stepConstraint :: [Constraint] -> [Constraint] Source #

stepConstraint >>> stepConstraint [Constraint 3 1, Constraint 4 2, Constraint 4 3] [Constraint 3 1,Constraint 4 2,Constraint 4 1]

constraintLoop :: [Constraint] -> [Constraint] Source #

constraintLoop >>> constraintLoop [Constraint 3 1, Constraint 4 2, Constraint 4 3] [Constraint 2 1,Constraint 3 1,Constraint 4 1]

  • ------------------------------------------------
>>> stepConstraint [Constraint 3 1, Constraint 4 2, Constraint 4 3]
[Constraint 3 1,Constraint 4 2,Constraint 4 1]
>>> findNewConstraint [Constraint 3 1,Constraint 4 2,Constraint 4 1]
[[Constraint 2 1]]
>>> stepConstraint ([Constraint 3 1,Constraint 4 2,Constraint 4 1] <> [Constraint 2 1])
[Constraint 2 1,Constraint 3 1,Constraint 4 1]

constrToSubMap :: [Constraint] -> SubMap Source #

constrToSubMap >>> constrToSubMap [Constraint 3 1, Constraint 4 2, Constraint 4 3] fromList [(2,1),(3,1),(4,1)]