Hello to all who care... I would like to take up the diskussion started at
http://thread.gmane.org/gmane.comp.mathematics.aldor-combinat.devel/537 In particular I'd like to discuss the design of the generation of structures and isomorphism types. Actually, Martin made me aware of the fact that there are not only labelled and unlabelled structures but also things inbetween. So structures: MultiSet L -> Generator % would be a good candidate for a new design. If all elements have multiplicity 1, then it would be like structures: SetSpecies L -> Generator % And if there is only one element with multiplicity n, then it would be like isomorphismTypes: SetSpecies -> Generator %. In fact, I believe that for a cleaner interface both of the functions involving "SetSpecies" should not be exported but rather only used internally. Currently, I see a MultiSet(L) as something like a polynomial domain (that has no multiplication, and all elements are of "degree" 1) where the "variables" are from L and the (non-negative integer) coefficients denote the multiplicity of the "variable". Now, since there is a domain "SparseAdditiveArray" in AC that basically is such a "polynomial domain of degree 1", it costs not much to implement MultiSet. What bothers me a bit is whether L should be ordered or not. There are pros and cons. con 1) A multiset is by nature unordered. con 2) We deal with species that work over sets. con 3) I don't yet have an idea whether ordering the "variables" would cost a lot in the generation of species. pro 1) SparseAdditiveArray works only with ordered "variables". pro 2) I believe that introducing some order on the input is necessary for (un)ranking anyway. pro 3) Since species are endofunctors of the finite sets category, ordering (of a finite set) is not a big deal. I think the code that Martin has in branches/iso-experiments could serve as a start for the idea of having only structures: MultiSet L -> Generator % Does somebody see any problem in that design? 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