monadiccp-0.3: Package for Constraint Programming
Control.CP.Herbrand.Herbrand
type VarId = IntSource
class HTerm t whereSource
Methods
mkVar :: VarId -> tSource
isVar :: t -> Maybe VarIdSource
children :: t -> ([t], [t] -> t)Source
nonvar_unify :: t -> t -> Herbrand t BoolSource
Instances
newtype Herbrand t a Source
Constructors
Fields
type Subst t = Map VarId tSource
data HState t Source
updateState :: HTerm t => (HState t -> HState t) -> Herbrand t ()Source
newvarH :: HTerm t => Herbrand t tSource
data Unify t Source
unify :: HTerm t => t -> t -> Herbrand t BoolSource
failure :: HTerm t => Herbrand t BoolSource
success :: HTerm t => Herbrand t BoolSource
bind :: HTerm t => VarId -> t -> Herbrand t ()Source
shallow_normalize :: HTerm t => t -> Herbrand t tSource
normalize :: HTerm t => t -> Herbrand t tSource