[Oberon] Intermediate scopes in Oberon-07

Diego Sardina dsar at eml.cc
Sun Feb 25 11:51:41 CET 2018

On Sun, Feb 25, 2018, at 8:42 AM, Jörg wrote:
> 1) Nesting, with the compiler „problem“ of static link

As I shown before, these procedures really don't need to access intermediate objects.
Intermediate variables can be passed as parameters.

> 2) Forward reference with the compiler „problem" of fixing the jump

In my personal taste I always disliked forward reference.

> 3) Procedure variables. In the compiler, this comes for free.
> 3) is now the way how ProjectOberon does it. Personally, I find it quite 
> appealing.

Appealing? :-) We have a really different taste about source code then.

In the past I never saw procedure variables as a solution for circular reference, but at this point I prefer forward reference.
Also they don't really come for free especially in runtime, it is another level of indirection and they prevent the compiler to inline them.

I'm surprised that this is proposed as "a general solution" by Wirth

More information about the Oberon mailing list