Declaring abstract interfaces for classes

Author(s): Angel Fernandez Pineda.

O'CIAO abstract interfaces are simple modules which declares exported predicates with no implementation. The implementation itself will be provided by some class using an implements/1 declaration.

O'CIAO classes may be also treated as interfaces just ignoring all exported predicate implementation.

In order to get information about error reporting, consult the class_doc chapter on this documentation.

Usage and interface

  • Library usage:
    To declare an interface, the interface source expansion package must be loaded:
               :- interface(ItfName).
    
    or using a module/3 declaration, as follows:
               :- module(ItfName,[],[interface]).
    
    Note: interfaces does not declare any code, so there is no need to load them from the CIAO toplevel shell.