Safe Haskell | None |
---|---|

Language | Haskell2010 |

The `axiom`

runs a backtracking algebra. The name comes from Robert
Giegerichs `ADP`

where `axiom`

runs the fully formed algorithm.

- class Axiom t where
- type AxiomStream t :: *

# Documentation

The Axiom type class

type AxiomStream t :: * Source #

The corresponding stream being returned by `axiom`

axiom :: t -> AxiomStream t Source #

Given a table, run the axiom

(Monad mB, PrimArrayOps arr i x, IndexStream i, (~) * j i, (~) (* -> *) m mB) => Axiom (TW (Backtrack (TwITbl mF arr c i x) mF mB) (j -> j -> m [r])) Source # | We need this somewhat annoying instance construction ( |

(Monad mB, IndexStream i, (~) * i j, (~) (* -> *) m mB) => Axiom (TW (Backtrack (TwIRec mF c i x) mF mB) (j -> j -> m [r])) Source # | |

(Monad m, IndexStream i) => Axiom (TwIRec m c i x) Source # | |

(Monad m, PrimArrayOps arr i x, IndexStream i) => Axiom (TwITbl m arr c i x) Source # | |