Inner Keyword

Overview:

Addition of a keyword to specify when sub-class initialization code is executed.

Proposed by:

Jeff Walker (language designer)

Experts to Contact:

jwalker@cs.oberlin.edu

Status: Being Considered

Status Rational:

Reason:

Simula has the inner keyword with these semantics. It seems like it would be useful, allowing further control of the sub-classing process. Seems useful if you need to do work after sub-classes are initialized.

Description:

The inner equivalent keyword followed by a semicolon would form a complete expression specifying that code in sub-classes should be executed at that point. Normal order of operations is equivalent to having inner as the last statement in the class before any point of return (careful to insure it is the last thing done). Multiple inner statements may occur in a pattern body so long as the flow of control could never pass through more than one. An inner statement may only occur in a pattern body because object bodies cannot be subclassed and so this statement would be useless.

Example:

There is currently no compelling example of the use of this feature.



jwalker@cs.oberlin.edu