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

Reply via email to