Edges in graphs may be simulated by calling external C functions. The name of the functions must appear in a DECLARE declaration:
The first alternative declares an external C function returning a node type or a set over a node type. The second alternative declares a void C procedure with two parameters, the first an input parameter (pointer/object type), the second one an output set parameter (set type). Examples of declarations:
f1 - p3 may all be refered to as binary predicate
names in rule tests:
The semantics of external C function calls in rule transformations is not defined.