initialization(Goal)
When used within an object, this directive defines a goal to be called immediately after the object has been loaded into memory. When used at a global level within a source file, this directive defines a goal to be called immediately after the compiled source file is loaded into memory.
Multiple initialization directives can be used in a source file or in an object. Their goals will be called in order at loading time.
Categories and protocols cannot contain initialization directives as the initialization goals would lack a complete execution context which is only available for objects.
initialization(@callable)
:- initialization(init).