This part documents the Ciao basic language. It covers the basic language concepts, constructs, and some predefined predicates and declarations that, unless stated otherwise, are available by default every Ciao program as defined in the prelude package. However, it is also possible to avoid loading this prelude package, on a per module basis, by using some special packages (see noprelude, pure).
Most of these basic predicates are contained in the engine library modules.
The rest of the standard library predicates, including both the packages that provide the ISO-Prolog builtins, the other traditional Prolog builtins, and the many language extensions of Ciao beyond Prolog are documented in subsequent parts.