This library defines operations to support the construction and analysis of Prolog programs.
Author: Michael Hanus
Version: January 2022
plList
:: [PlTerm] -> PlTerm
Constructs a Prolog list object from a list of Prolog terms. |
isPlVar
:: PlTerm -> Bool
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). |
argsOf
:: PlTerm -> [PlTerm]
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. |
The name and the arity of the root of a Prolog term, where the names of variables are ignored (i.e., empty). |
The multi-set of all occurrences of variables in a Prolog term. |
The set of all data constructors together with their arities used in a Prolog goal. |
The set of all data constructors together with their arities used in a Prolog term. |