[Oberon] SYSTEM Modules
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