On Tue, 2006-11-21 at 22:14 +0100, Ralf Hemmecke wrote:
> > Rep and Per are good for many things, but it might be worth adding a
> > shorthand for 'my representation is just a record'. Don't think of Rep
> > as an instance variable - it's a mapping between your type and an
> > underlying one. That said, a default representation of Rep + Record
> > might be an interesting idea.
>
> Peter, perhaps you know ...
>
> The only thing that makes "Rep", "rep", and "per" special is:
>
> macro {
> rep x == ((x)@%) pretend Rep;
> per r == ((r)@Rep) pretend %;
> }
>
> from include/aldor.as.
>
> Now let us assume that everywhere in the libaldor sources we would replace
>
> Rep <--- Foo
> rep <--- bar
> per <--- rab
>
> I guess the compiler would still accept the code and even produces an
> identical library (up to name changes and hash codes etc).
>
Yes, correct. The fact that almost all domains require a representation
is an part of the language, even if the implementation of this is done
via convention.
> Or does the compiler know about a special treatment of "Rep" (in
> contrast to "Foo")?
>
> Going a bit further... is % known to the compiler? Or could I also
> replace that (above and in everywhere.as file) by something else like
> "Bar", for example?
>
% is a different thing to the type being defined - this matters for
add-inheritance and in categories.
Peter
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer