Hello,
OK, I see now. It could be -- in the non functional setting -- that
a: NonFunctionalDomainConstructor Integer := something
b: NonFunctionalDomainConstructor Integer := otherthing
and NonFunctionalDomainConstructor exports an operation f(%, %), but I
still
*shouldn't* be able to call f(a, b), since a and b come from different
instantiations of NonFunctionalDomainConstructor Integer?
yes.
(Not currently, since it seems that Aldor instantiates a Domain only
another time, if the argument has changed.)
No. Sometimes, a domain is not re-instantiated, even if the argument
changed ;)
See my Dom example:
http://www.aldor.org/pipermail/aldor-l/2006-May/000205.html
> I would imagine that Dom(x) and Dom(y) are the same, (i.e.,
instantiated
> only once) if x and y are the same, i.e., if (eq x y) as opposed to
(equal
> x y), but I'd be interested to find something about this in the
> documentation.
That's the main point ... what kind of "equals" does Aldor apply?
I do not know. Just look at the Dom example I gave.
which one?
http://www.aldor.org/pipermail/aldor-l/2006-May/000205.html
> I'd leave it unspecified.
Leaving compiler behaviour unspecified is a bad thing.
No, not necessarily. Maybe I should have said "undefined". In Lisp this
is the
case for many things. It's basically saying: "in principle it is an
error, but don't expect that I throw an error message".
Thereby you specify it. You say the thing of interest is wrong. And you
specify that an error might be thrown. But you must not rely on it.
Specified.
No user would be allowed to rely on calling List( Integer ) two times
would give an identical result.
I agree that I wouldn't leave *this* unspecified, but I could imagine
saying:
* domains are "compatible" (i.e., you may use append in the example you
gave
above), if their arguments were identical. In this case, the domain is
instantiated only once.
* if their arguments were not identical, the behaviour is unspecified
Such a definition would be contradicting the current implementation of the
Aldor compiler :)
And what do you mean by "identical"? The whole thing is terribly
complicated (at least for me).
--
Kind regards,
Christian
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer