Does EP allow a module to export a predefined identifier? The standard makes it clear that it can re-export an identifier imported from another module (e.g., 6.11.6, example 2), but what about predefined things?
As in my other mail, I can't seem to find a wording that prohibits it (but I might overlook something).
In particular, exporting "magic" routines with renaming would seem quite confusing to me.
module m interface;
export m = (WriteLn => Foo);
end.
program p;
import m;
begin Foo (1 : 2) { Nice!? } end.
If this is allowed, the problem in the `System' unit with the redeclaration of `Integer' could be resolved by letting the `GPC' module export `Integer' with renaming, so `System' could use the renamed one on the right side of the redeclaration (`type Integer = OriginalInteger (16);'). But somehow I doubt this is alright ...
Frank