[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