Skip to content

[ fix ] parametrisation of Algebra.Consequences.Base #2888

@jamesmckinna

Description

@jamesmckinna

(Pulling on a loose thread spotted while working on #2881 )

Currently, this module at the top-level is parametrised only by the underlying Carrier telescope {a} {A : Set a}, while its local submodules then take an ambient ('raw') 'equality' relation as an explicit parameter after (the equivalent of) the various RawMagma etc. operations given implicitly.

A breaking (sigh) change would instead be to make the top-level parametrisation wrt (the equivalent of) the RawSetoid a ℓ, ie. {a ℓ} {A : Set a} (_≈_ : Rel A ℓ) (as with Algebra.Definitions and Algebra.Structures), and only then parametrise the local submodules wrt the operations concerned. cf. #2572

Consequences:

It's (slightly) hard to see how bad the knock-on effects would be for users, but it definitely would rearrange ordering within any explicit binding telescopes at call-/use-sites, so a breaking change, but definitely worth doing for v3.0, I think!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions