[Oberon] Life without local procedures

Andreas Pirklbauer andreas_pirklbauer at yahoo.com
Fri Feb 23 08:21:55 CET 2018

  > I can live without intermediate variables, especially
  > if they simplify and improve compiler code generation.

Only intermediate *variables* complicates code generation and
slows down runtime performance (both when calling an intermediate,
procedure and when subsequently accessing intermediate variables).

Intermediate *constants* and *types* come for free, both in the
compiler and at runtime, as their values are known at compile time.

PS: This may have been one reason why access to intermediate *constants*
and *types* is still allowed in the Oberon-07 revision, whereas access
to intermediate *variables* has been disallowed (however: intermediate
constants and types are *never* accessed from nested scopes in Oberon).

More information about the Oberon mailing list