Ralf Hemmecke <[EMAIL PROTECTED]> writes:

> > Augment(L: LabelType): LabelType with {
[...]
> >         Rep == Union(star: Boolean, label: L); import from Rep;
> 
> Would you mind to use
> 
>       Rep == Record(label: L);
> 
> Then
> 
>     star?(x: %): Boolean == nil? rep x;
>     star: % == nil$Rep;

Oh yes, that looks nice.
 
> Unfortunately, I don't know yet how to let this work in Axiom.

Did you try? I didn't realize that Record in Axiom and Aldor would be very
different. In any case, in axiom one could use pretend, I guess...

> > If one *really* needs to distinguish the different transcendental elements, 
> > one
> > could write them as *1, *2, etc.
> 
> Ah, but then what about allowing Derivative(F) to have an (optional) 
> additional
> element with is by default newLabel()$ExtraLabels and have the user provide 
> the
> *1, *2, etc?

I'd rather stick with Augment, but I like the idea of giving the user the
possibility to supply the outputForm of the transcendental element. In fact, I
contemplated a similar possibility for Plus, Times, Compose, etc., namely,
giving them an optional argument that indicates how much of the internal
representation should be shown. For example, 

Plus(A, B, showtags) 

could output

%83 >> b := structures(set 
["a"])$(Plus(SingletonSpecies,SingletonSpecies))(String)

%84 >> [b]
[l:a,r:a] @ List(Plus(SingletonSpecies, SingletonSpecies)(String))

or so. For compose, it would be nice to be able to show only the "composed"
structure, which will suffice in many cases. Currently, IsomorphismType$Compose
would allow this, if we output only the "left" part of the representation.

(An example where this wouldn't work is your "cardinality species", I think)

Martin


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Aldor-combinat-devel mailing list
Aldor-combinat-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel

Reply via email to