The Dogelog player provides already correct handling of a conjunction and disjunction of goals in a Prolog clause body or in a Prolog query. This also extends to the cut. The conjunction and disjunction do not have a direct built-in since they are translated into internals. In particular the cut is mapped to '$CUT'/1 with an additional argument.
Example:?- (X=1;X=2), !.
X = 1.
The built-in call/1 permits to perform meta-calls that are
allowed to contain conjunction, disjunction and the cut. There are
further predefined predicates that are bootstrapped in Prolog
itself with or without the help of meta-calls. These predefined
predicates mainly define conveniences related to control flow
required by the ISO core standard.
The following control built-ins are provided: