next up previous index
Next: Tools Up: Visibility of Predicates Previous: Access rules for

Defining and modifying the visibility

 

There are 5 visibility declaration predicates:

  local PredList declares the predicates in PredList (maybe not yet defined) as local in the caller module.

  export PredList declares the predicates in PredList (maybe not yet defined) as exported in the caller module.

  global PredList declares the predicates in PredList (maybe not yet defined) as global in the caller module.

    import PredList from Module declares the predicates in PredList to be imported predicates in the caller module. Each of them are linked to their corresponding exported predicates (maybe not yet) defined in Module.

  abolish PredList removes the declaration and the definition of the predicates in Predlist declared or defined in the caller module. As the visibility declaration predicates act on the caller module only, abolishing an imported predicate does not affect the exported predicate itself but only the import link.

The predicate visibility may be changed at any time.

With respect to requirement gif, some visibility changes are restricted: import links (created with import_from/2) must be cut down explicitly (with abolish/1) before defining a new visibility. Vice-versa a local, exported or global declaration or definition must be abolished before an import link is created with import_from/2.

Warnings are raised when redundant declarations occur (e.g. declaring twice the same predicate as local).



next up previous index
Next: Tools Up: Visibility of Predicates Previous: Access rules for



Micha Meier
Mon Mar 4 12:11:45 MET 1996