[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: [Aldor-l] exports and constants

From: Christian Aistleitner
Subject: [Axiom-developer] Re: [Aldor-l] exports and constants
Date: Tue, 25 Jul 2006 07:16:26 +0200
User-agent: Opera Mail/9.00 (Linux)


stdout << ( A      has CatA) << newline;
stdout << ((A add) has CatA) << newline;

It still does not compile. But it should. Both A and "A add" are domains
of type CatA.

Why should (A add) be of static type CatA? (I assume you meant static type although has checks the dynamic type, which of course is something different. The Aldor compiler complains about the static type of "A add".)

If (A add) had static type with {} in this context, it would be perfectly fine for me. Nevertheless, it is a bug. Once a again a bug, where the add statement cannot determine which static type it has to satisfy. If you hint the compiler, it should work.

What I wanted to demonstrate is that "A add {...}" has a type and is a
value of its own.

But if used in a context like "X: CatX == ... " it does matter whether
there is an "add" *explicitly* appearing on the right hand side. That is
not just an ordinary assignment of constants, i.e.

constName: SomeType == somevalue;

Why not? It's just a different "somevalue".
I have not seen any code that cannot be explained by the "add is allowed to cut off fields" principle or the "add cannot determine the type it has to fulfill" bug.

Kind regards,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]