This library defines operations to support the construction and analysis of Prolog programs.
Constructs a Prolog list object from a list of Prolog terms.
Is a Prolog term a variable?
rootOf
:: PlTerm -> (String, Int)
The name and the arity of the root of a Prolog term, where the names of variables are ignored (i.e., empty).
The arguments of a Prolog term.
goalVars
:: PlGoal -> [String]
The set of all variables occurring in a Prolog goal.
termVars
:: PlTerm -> [String]
The set of all variables occurring in a Prolog term.
termsVars
:: [PlTerm] -> [String]
The set of all variables occurring in a list of Prolog terms.
termVarOccs
:: PlTerm -> [String]
The multi-set of all occurrences of variables in a Prolog term.
goalConstrs
:: PlGoal -> [(String, Int)]
The set of all data constructors together with their arities used in a Prolog goal.
termConstrs
:: PlTerm -> [(String, Int)]
The set of all data constructors together with their arities used in a Prolog term.