>> 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...
No I did not try. That nil is exported by Rep is an extension of Record in LibAldor that was introduced by Manuel Bronstein. If memory serves me right, I was with him about two years ago when he introduced it. This extension of Record just avoids to see "pretend" in "higher level" places of the library. >>> 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, OK, I think I can live with that, but let me first really comment on your new branch. > 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)) Having yet another parameter is something I don't actually quite like. I think it would be better to provide an easy way for the user to provide a map from the internal data structure to a visual form. That basically says that "<<" and coerce to OutputForm are just "stupid" default output routines that don't show smartly. But what would be an "easy way" for a user? I'd really very very very much hesitate to put the output function into the domain constructor arguments. I'd rather opt for an output routine with parameters... but that needs more thought. All the best Ralf ------------------------------------------------------------------------- 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