loop :- generator, trim_stacks, potentially_expensive_operation, stop_condition, !.
The prolog top level loop is written this way, reclaiming memory resources after every user query.
argument. The table below describes the Key/Value pairs. Old is first unified with the current value.
|Maximum size of the stack in bytes|
|Minimum free space at entry of foreign predicate|
This predicate is currently only available on versions that use the stack-shifter to enlarge the runtime stacks when necessary. It's definition is subject to change.