[Aldor-l] [Axiom-math] Are Fraction and Complex domains.
Christian Aistleitner
tmgisi at gmx.at
Wed May 17 09:02:57 EDT 2006
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
More information about the Aldor-l
mailing list