[Oberon] Module Fonts without reference to SYSTEM

Andreas Pirklbauer andreas_pirklbauer at yahoo.com
Sun Sep 6 09:09:31 CEST 2020


    >   It would be so nice if undocumented features got documented.

Hi Wojtek - following up on your earlier comment above (and our email exchange):

The definition of ORD(ptr) is now part of the Oberon-2 (2020 Edition) document.

.. although I admit that have added it quite reluctantly, for at least two reasons:

1. Having followed this thread, I now also believe that it is preferable if programmers
   "honestly display loopholes” (as N.Wirth has phrased it in his ‘Good Ideas Through
   the Looking Glass’ paper), i.e. if they use SYSTEM.ADR(p^) instead of ORD(p).

2. For pointers to arrays, ORD actually needs to add an offset of 16,
   because that’s where the actual data starts, i.e for dynamic arrays we
   have ORD(ptr) = SYSTEM.VAL(INTEGER, ptr) + 16 … small quirk.

-ap





More information about the Oberon mailing list