Open jamesmckinna opened 1 month ago
Before I look at this at all I just want to say thanks for tackling it! I've been avoiding it with the hope that we can get a solution for #2287, but that looks a long way off.
@Taneb Indeed! This kind of boilerplate-bashing is quite fatiguing, until you run up against the 'diamond' re-export problem, at which point my powers fail me in different ways, trying to work out what should get re-exported from where... plus discovering that (still!) not everything is present which perhaps ought to be... ;-)
UPDATED: moving to DRAFT
until I have time to finish off (some of) the outstanding items above.
@JacquesCarette @Taneb I have now added the 'missing' parts of the PR (as in the revised opening preamble above), and so (hopefully) now stopping there...
As expected, this massively screams for meta-programming. In the meantime, this is great.
So I think that I now have added all the relevant (requested!) sub-{structure|bundle}s, but definitely needs another pass to check, along perhaps with a downstream issue/PR to fill in yet more gaps (including in the Raw
sub-hierarchy, cf. #2255 ).
Thanks @JacquesCarette ! (modulo the need for manual effort in the absence of a Drasil-based solution...)
Currently badged as v2.2, but could merge for v2.1?
Cherry-picked and enhanced from #1962 . Fixes #1960 .
TODO:
Algebra.Morphism.Construct.{Identity|Composition}
materialRingWithoutOne
doesn't appear to export its ownRaw
substructure, so that should be added? ditto.KleeneAlgebra
Structures
/Bundles
NB
Setoid
structure onHom
s at all... (brain-fade; sigh)Semiring
andRing
homomorphisms should export aSuccessorSetHomomorphism
structure/bundle only after going back to #1363 through the medium of (the initial)SuccessorSet
and its consequences forAlgebra.Structures
having(Is)SuccessorSet
fields...