Skip to content

[ add ] commentary explaining the IsXRing design problem (issues #1617 and #2771) #2781

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

jamesmckinna
Copy link
Contributor

@jamesmckinna jamesmckinna commented Jul 22, 2025

So maybe this warrants a comment in the file, so that future maintainers don't end up tripping on the same issue?

Originally posted by @JacquesCarette in #2771

This PR precisely attempts to offer such commentary in Algebra.Structures, but it's not clear that this is the right place to do it, nor that the 'first' instance of the phenomenon, IsNearSemiring, is where users will find such explanation useful.

Meta-issue: when we have a substantive library-design issue such as #1617, and its resolution in #1684 , how/where should we document it beyond the comment trail on GitHub?

@jamesmckinna jamesmckinna changed the title [ add ] commentary explaining the IsXRing problem (issues #1617 and #2771) [ add ] commentary explaining the IsXRing design problem (issues #1617 and #2771) Jul 22, 2025
@JacquesCarette
Copy link
Contributor

That Meta-issue why I'm keen to start on the stdlib design paper! We do have some design documentation in doc/README/Design/*.

The 'real' solution to this problem would have us pull out the Setoid over which the structures are defined as a parameter instead of the 'raw' approach we're taking now. More generally, I think support for what others are calling "displayed algebra" will become necessary. No idea if @AndrasKovacs is working on that now, but he's certainly one of the leading candidates!

@jamesmckinna
Copy link
Contributor Author

jamesmckinna commented Jul 23, 2025

I did look in the README.Design.* tree, and couldn't really find what I needed. But perhaps the text I've written here should be moved there? Ironically (sic), I find I increasingly don't bother to read the READMEs, and as they aren't re-generated by make test, although they are re-checked at least (?), there is the risk that their contents drifts from our current internal mental model of what is/should be going on...?

@JacquesCarette
Copy link
Contributor

I'd say copied there rather than moved. There are times when redundancy is good.

@jamesmckinna
Copy link
Contributor Author

jamesmckinna commented Jul 30, 2025

I'll convert to DRAFT while I do the copying over to README?
UPDATED: turns out a lot more material was needed in order to be able to typecheck the Hierarchies module!
Now, I'll ping again and then we can get this off the docket provided you're both still happy.

@jamesmckinna jamesmckinna marked this pull request as draft July 30, 2025 07:17
@jamesmckinna jamesmckinna marked this pull request as ready for review July 30, 2025 08:14
@jamesmckinna jamesmckinna added this to the v2.4 milestone Jul 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants