call(Closure) call(Closure, Arg1, ...) call(Object::Closure, Arg1, ...) call(::Closure, Arg1, ...)
This non-terminal takes a closure and is processed by appending the input list of tokens and the list of remaining tokens to the arguments of the closure. This built-in non-terminal is interpreted as a private non-terminal and thus cannot be used as a message to an object. When using a back-end Prolog compiler supporting a module system, calls in the format call(Module:Closure)
may also be used. By using as argument a lambda expression, this built-in non-terminal provides controlled access to the input list of tokens and to the list of the remaining tokens processed by the grammar rule containing the call.
call(+callable) call(+callable, ?term) call(+callable, ?term, ?term) ...
instantiation_error
type_error(callable, Closure)
call(Closure)
call(::Closure)
call(Object::Closure)