I'm very interested in comments to 
https://github.com/sagemath/sage/pull/38544.

In short, the next design decision is the following:

I realize that I have no idea whether a species structure should have any 
structure at all.  I see the following two options:
1. `structures` indeed returns just arbitrary objects, only the species 
knows how to relabel a structure and how to check whether two structures 
are isomorphic.
2. `structures` returns `SpeciesStructure`s.  Such a `SpeciesStructure`
    - knows the species which produced it
    - knows its labels
    - knows how to print itself
    - knows how to relabel itself
    - can test whether it is isomorphic to another structure
    - can possibly return a canonical labelling of itself.

Special species classes, such as `SumSpecies`, `ProductSpecies` and 
`CompositionSpecies`, may provide additional methods, for example it could 
know the summands, factors, etc.

The current approach is the second one, and I'm leaning towards it, 
although this doesn't quite follow the math.  I think we could additionally 
add a `facade` option to the `structures` method or the species constructor 
itself.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/4367eecf-fedf-4358-8370-a1b9a7b7c53en%40googlegroups.com.

Reply via email to