prolog
Module: alsdev
prolog
— call a prolog term from Tcl
FORMS
prolog option ? arg arg... ?
DESCRIPTION
The prolog
command provides methods for executing a prolog query in ALS Prolog from within an executing Tcl script. Option
indicates how the query is expressed. The valid values for Option
are :
**prolog call** module predicate ? -type arg ... ?
This version directly calls a predicate in a module with type-converted arguments. The command returns 1 if the query succeeds, or 0 if it fails. The arguments can take the following forms :
-number arg
Passes arg as an integer or floating point number.
-atom arg
Passes arg as an atom.
-list arg
Passes arg as a list.
-var varName
Passes an unbound Prolog variable. When the Prolog variable is bound, the Tcl variable with the name varName
is set to the binding.
**prolog read_call** termString ? varName ... ?
The string termString
is first read as a prolog term and then called. The command returns 1 if the query succeeds, or 0 if it fails. The optional variables named by the varName
arguments are set when a Prolog variable in the query string is bound. The prolog variables are matched to varNames
in left-to-right depth first order.
EXAMPLES
prolog call builtins append -atom a -atom b -var x
Returns 1, and the Tcl variable x
is set to {}(a,b)
.
prolog read_call "append(a, b, X)" x
Returns 1, and the Tcl variable x
is set to {}(a,b)
.