Skip to content
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

[ refactor ] add rawSetoid manifest fields to Algebra.Bundles.Raw #2536

Merged
merged 1 commit into from
Jan 1, 2025

Conversation

jamesmckinna
Copy link
Contributor

This tackles the second part of #2274 as a followup to #2491 by replacing the in-place definition of negated equality in Algebra.Bundles.Raw.* with a delegation to its definition in the underlying RawSetoid bundle via an additional rawSetoid manifest field.

Outstanding issues:

@JacquesCarette
Copy link
Contributor

"new field" ? I make a difference between a 'field' in a record and a definitional extension - they differ quite a bit. For example, you can only assign to fields (as seen when doing copatterns) and not extensions.

You can test what's in a module by putting the name of a module in a hole and then doing C-c C-o. This will list all the names that are visible in that module. That should let you figure out item 2.

@jamesmckinna
Copy link
Contributor Author

jamesmckinna commented Jan 1, 2025

Apologies. What you call a "definitional extension" I habitually call a "manifest field", and hence, sloppily, simply a field.

Mind you, it would be great if they were overridable in the same way as fields, as that would make emulation of haskell-style defaulting sooo much easier...

@jamesmckinna jamesmckinna changed the title [ refactor ] add rawSetoid fields to Algebra.Bundles.Raw [ refactor ] add rawSetoid manifest fields to Algebra.Bundles.Raw Jan 1, 2025
@JacquesCarette
Copy link
Contributor

I'm fine with "manifest field" (though I'll keep using "definitional extension"). I guess it's shortening that to "field" that bugs me!

Yes, I too would like some kind of 'default' mechanism. Though I think that, in Agda, one ought to be forced to prove that the alternate definition is equivalent to the default one. Which I guess means that providing a default on something with no notion of equivalence would be disallowed. It certainly would be interesting to play around with that!

@JacquesCarette JacquesCarette added this pull request to the merge queue Jan 1, 2025
Merged via the queue into agda:master with commit 429e617 Jan 1, 2025
2 checks passed
@jamesmckinna jamesmckinna deleted the pr2194-bis branch January 1, 2025 19:07
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