ADPfusion-0.4.0.1: Efficient, high-level dynamic programming.

Safe HaskellNone
LanguageHaskell2010

ADP.Fusion.SynVar.Backtrack

Description

Wrap forward tables in such a way as to allow backtracking via algebras.

Synopsis

Documentation

class GenBacktrackTable t mF mB r where Source

TODO this should go into ADP.Fusion.Table.Backtrack, more than just tabulated syntactic vars are going to use it.

NOTE You probably need to give the monad morphism between mF and mB so as to be able to extract forward results in the backtracking phase.

Associated Types

data Backtrack t mF mB r :: * Source

type BacktrackIndex t :: * Source

Methods

toBacktrack :: t -> (forall a. mF a -> mB a) -> (BacktrackIndex t -> BacktrackIndex t -> mB [r]) -> Backtrack t mF mB r Source

Instances

GenBacktrackTable (IRec mF i x) mF mB r 
GenBacktrackTable (ITbl mF arr i x) mF mB r