Signature in Oberon/F

Stan Warford (warford@pepperdine.edu)
Wed, 12 Jun 96 23:06:19 PDT

Hello all,
There does not seem to be a precise definition of "signature" in
the Oberon/F documentation. Nor does there seem to be an explanation
of how the framework uses signatures to make implicit calls to
exported procedures. Specifically, in MODULE Dialog the documentation
states:

TYPE NotifyProc = PROCEDURE (op, from, to: LONGINT)
Control notification commands must have this signature.

Then, in MODULE ObxDialog there is the procedure:

PROCEDURE SelNotify* (op, from, to: LONGINT);

which apparently has the required signature. What does it take for
a procedure to have the right signature:
(a) Must the formal parameters match in number and type exactly?
(b) Must the formal parameters have the same names?
(c) Must the procedure have some common substring in its name,
e.g. "Notify" in the above example.
(d) What are the Framework rules for determining when a procedure
is called by the framework?

For example, in ObxDialog what distinguishes the calling of

PROCEDURE DisableNotify* (op, from, to: LONGINT);

from the calling of

PROCEDURE ElemsNotify* (op, from, to: LONGINT);

This framework concept is really different from many environments
I have used before and I wish the documentation were more detailed
in its description of the calling mechanism.

Stan Warford
Pepperdine University
warford@pepperdine.edu