[Oberon] Modula2 vs Oberon IMPORT

Douglas G. Danforth danforth at greenwoodfarm.com
Sat Jan 8 07:48:15 CET 2011


> One reason for wanting to use the selective FROM .. IMPORT in Modula-2 is so
> that you can call WriteString and WriteLn in your program without having to
> prefix every call with the module name STextIO.
>
> To do something similar in Oberon you could use procedure variables to
> declare the names you wanted to use e.g.
>
> VAR
>    WriteString: PROCEDURE(s: ARRAY OF CHAR);
>    WriteLn: PROCEDURE ();
>
> and then in the module initialisation code you would assign the aliases:
>
> BEGIN
>    WriteString := STextIO.WriteString;
>    WriteLn := STextIO.WriteLn;
>    ...
>
> Regards,
> Chris Burrows
>

The MAINSAIL language does not require imported procedures to be 
prefixed with the module name.
I have found Oberon to be far superior.  It makes immediately obvious 
what function is being referenced.
If X is present in two module both imported then referencing X is 
ambibuous without the module prefix.

-Doug Danforth





More information about the Oberon mailing list