[Aldor-l] exports and constants

Christian Aistleitner tmgisi at gmx.at
Tue Jul 25 01:59:40 EDT 2006


Hello,

On Mon, 24 Jul 2006 18:17:20 +0200, Bill Page  
<bill.page1 at synthesis.anikast.ca> wrote:

> On July 24, 2006 4:06 AM Christian Aistleitner wrote:
>>
>> But I suppose, the reason for the whole discussion is that
>> Aldor does simply refer to types. Aldor follows the "types on
>> variables approach". And "values are not normally self-identifying"
>> (which hopefully means something like "values are normally not
>> self-identifying").
>
> I don't think I understand your previous sentence. Do you mean
> to emphasis the phrase "not normally", implying that the cases
> when this does not implying are very important?

sorry, let me rephrase it.
Assume, Aldor has no knowledge about a values type other than the static  
type (I guess that's what you want have.) -- purely "Types on variables".

Then in a statement like

func( R: Ring ): () ==
{
	
}

Aldor knows that R is of static type Ring within the function's body.  
Nothing more. Nothing less.
Especially, the test „R has Field” in

func( R: Ring ): () ==
{
	if ( R has Field ) then
       {
          ...
       }	
}

could never be true, since (as stated before) Aldor only knows that R is  
of static type Ring. Nothing more. Nothing less.

However, that's not the way things work. And that's actually a good thing.
(We drop the assumption).

Aldor has to have more knowledge about R than only its static type. Aldor  
knows about the dynamic type. And the "types on variables" paradigma does  
not deal with this. If I am not wrong, "Types on variables" refers solely  
to the static type.

So for domains, we have more than the static type -- more than the type on  
a variable. We have dynamic types -- "Types on data" (Be it that the type  
is really stored in memory locations close to the data, be it that there  
is some lookup table for dynamic types, or be it something completely  
different. Aldor gets to know the dynamic type of a domain and thereby  
associates a type to data, not to the variable).

--
Kind regards,
Christian



More information about the Aldor-l mailing list