- type Algo c = [Rule c]
- data Rule c
- data Var α
- antecedent :: Rule c -> [c]
- consequent :: Rule c -> [c]
- constructor :: Rule c -> [d] -> [d] -> Rule d
- expand :: Eq α => [α] -> Algo (Var α) -> Algo α
- parseRule :: Eq α => [α] -> Rule α -> Rule (Var α)
- buildAlgo :: Eq α => [α] -> [α] -> Algo α -> Algo α
- runMarkov :: Eq α => Algo α -> [α] -> [α]

# Documentation

One rule in algorithm

Variable for rules

antecedent :: Rule c -> [c]Source

Get antecedent of rule

consequent :: Rule c -> [c]Source

Get consequent of rule

constructor :: Rule c -> [d] -> [d] -> Rule dSource

Get data constructor of Rule

Expand algorithm with variables into algorithm without variables

Create generic Rule from concrete Rule

Build concrete algo from simple text description with variables