[Oberon] SYSTEM Modules

Richard Hable informujo at aon.at
Sun Nov 11 15:42:39 CET 2018

On 11.11.18 12:03, Chris Burrows wrote:

> I'm questioning why some global built-in procedures have to be 
> qualified whereas others don't.

Isn't the distinction simple?

Un-qualified built-in procedures (e.g. INC) provide safe functionality;
qualified build-in procedures (e.g. SYSTEM.PUT) provide unsafe and
potentially unportable functionality—which should be visible as such
within the source code and be avoided if possible.

> The definition of SYSTEM has diminished over time to the point where
>  it is now almost redundant.

If this has happened, we should try to make the distinction clear again...

> Global built-in / SYSTEM procedures are very different to procedures 
> contained in library or application modules.

Of course they are! They are part of the language: an elegant solution
to keep the syntax simple. Compare, for example, the simplicity of
INC(x) and INC(x,7) to the strange C syntax of x++, ++x, and x+=7.


More information about the Oberon mailing list