Hi Ralf,
Ralf Hemmecke <[EMAIL PROTECTED]> writes:
> If you extend Integer then it will not be visible globally. Clearly,
> it is visible only for those things that "see" the extension.
Of course you are completely correct. The specific issue I was trying
to point out is illustrated by the following (note that I have not
been able to get Aldor working locally for a long time. Binaries
from aldor.org do not work for some reason. This is from, possibly
bad, memory):
Foo(T: Type): with {
foo: () -> Boolean;
} == add {
if T has with {bar:() -> T} then
foo(): Boolean == true;
else
foo(): Boolean == false;
}
In such a situation, I belive the `has' predicate will see exports
defined via an `extend' occurring in a seperate compilation unit.
Perhaps you could verify?
I always thought Aldor's `extend' was designed to allow for the
enrichment of domains defined within a closed-source library, not as a
general mechanism for solving the kind of mutually recursive
definitions found in Axioms algebra.
Thanks,
Steve
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer