monadiccp-0.3: Package for Constraint Programming

Control.CP.Herbrand.Herbrand

Documentation

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

Herbrand 

Fields

unH :: State (HState t) a
 

type Subst t = Map VarId tSource

data HState t Source

Constructors

HState 

Fields

var_supply :: VarId
 
subst :: Subst t
 

Instances

data Unify t Source

Constructors

t Unify t 

unify :: HTerm t => t -> t -> Herbrand t BoolSource

bind :: HTerm t => VarId -> t -> Herbrand t ()Source

normalize :: HTerm t => t -> Herbrand t tSource