Skip to content

[ refactor ] make Relation.Binary.Morphism.Definitions obsolete#2922

Open
jamesmckinna wants to merge 7 commits intoagda:masterfrom
jamesmckinna:issue2875ptI
Open

[ refactor ] make Relation.Binary.Morphism.Definitions obsolete#2922
jamesmckinna wants to merge 7 commits intoagda:masterfrom
jamesmckinna:issue2875ptI

Conversation

@jamesmckinna
Copy link
Copy Markdown
Collaborator

@jamesmckinna jamesmckinna commented Jan 24, 2026

This tackles the first part of #2875 , retaining the module solely for compatibility per #1206 / #1213 as requested by @pnlph , so no actual deprecation at this stage.

Knock-on consequences include:

  • hopefully simplifying the dependency graph wrt imports of Function.Definitions vs. alternatives
  • replacing the definition Homomorphic₂ throughout by Function.Definitions.Congruent (but the name is still exported as public by the obsolete stub; and hence also exported by Relation.Binary.Morphism, but this could be removed/deprecated?)
  • etc.

Apologies to @Taneb for having changed my mind regarding your original #2318 but this PR should now close that issue as 'fixed'!

TL;DR: the 'cause' of the problem is yet again [ DRY ] with some basic concepts duplicated across the Function/Relation/Algebra hierarchies as various specialisations (or not even that) of 'common' (very) general abstractions (eg 'monotonicity'/'congruence'/'respects') which different authors have, at different times, identified as Core to one or other hierarchy... cf. #2917

@jamesmckinna jamesmckinna requested review from JacquesCarette, MatthewDaggitt and gallais and removed request for JacquesCarette January 28, 2026 15:12
Copy link
Copy Markdown
Collaborator

@JacquesCarette JacquesCarette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Putting as comment, since I don't want to block merge on just this.

@jamesmckinna jamesmckinna added this to the v2.4 milestone Feb 25, 2026
@jamesmckinna
Copy link
Copy Markdown
Collaborator Author

jamesmckinna commented Mar 4, 2026

Is this an Agda bug now? Or simply that I don't understand the semantics of WARNING_ON_USE?

@Taneb
Copy link
Copy Markdown
Member

Taneb commented Apr 8, 2026

See previous discussion: #2318

Copy link
Copy Markdown
Collaborator

@MatthewDaggitt MatthewDaggitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Developer meeting: we decided not to deprecate Homomorphism₂ and Morphism but instead just redefine them as Congruent etc. Still reduces duplication greatly.

@jamesmckinna
Copy link
Copy Markdown
Collaborator Author

Apologies to @Taneb for having ignored my own arguments on your earlier #2318 !

@jamesmckinna jamesmckinna removed the request for review from gallais April 8, 2026 15:49
@jamesmckinna
Copy link
Copy Markdown
Collaborator Author

@MatthewDaggitt over to you to re-review before merging.

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.

4 participants