[Oberon] Module aliases - what is the correct way to handle them
Paul Reed
paulreed at paddedcell.com
Fri Feb 14 06:20:09 CET 2020
Hi Andreas,
> http://github.com/andreaspirklbauer/Oberon-test-module-aliases/issues/1
> PS: Current iteration is ORB9, which however is still incomplete. Be
> warned..
Thanks for this. If I have it correctly, in summary:
1. "Invalid import order" is an implementation restriction to save the
compiler from having housekeeping code to stitch together the implicit
imports (re-exported types) and later explicit ones. You have kindly
contributed alternative implementations which get round this limitation.
2. Prof. Wirth's current ORB.ThisModule code is incorrect, and should be
patched along the lines of Michael's fix, but comparing canonical
orgnames, i.e.
WHILE (obj # NIL) & (obj(Module).orgname # orgname) DO obj1 := obj;
obj := obj1.next END ;
not
WHILE (obj # NIL) & (obj.name # name) DO obj1 := obj; obj := obj1.next
END ;
nor
WHILE (obj # NIL) & (obj(Module).orgname # name) DO obj1 := obj; obj
:= obj1.next END ;
Or is there more we need to look into at this stage?
Cheers,
Paul
More information about the Oberon
mailing list