Skip to content

Data.Nat.Base._≤″_ and Algebra.Definitions.RawMagma._∣_ #1919

@jamesmckinna

Description

@jamesmckinna

So...
... part of issue #1726 was a concern about the proliferation of (allegedly) useful variants on the usual ordering relation on Nats. Yet another one of these, _≤″_, is nothing more or less than the (abstract, algebraic) divisibility ordering induced by the (raw) _+_, _≡_-monoid (magma) structure, while (usual) divisibility is... the same for the (raw) _*_, _≡_-m... structure...

... three distinct representations of the 'same' algebraic concept, differing even up to the direction of the underlying equality, records vs. for packaging up the data, different field names, ... etc.

Now that Data.X.Base modules #1810 (for better or worse) expose their underlying Raw structure/bundle(s), ... Is it time to reconsider whether the above (non-)duplication is A Good Thing?

UPDATED: Aaargh! I've just discovered that this would be a reversion (and then some) of #192 / #196 ... groan.
But I think the original reasons for that issue/PR no longer hold, not because the semantics of pattern-matching (and let in particular wrt records) has got so much more sophisticated since 2017... and the change proposed here, and embarked upon in #2013 is 'only' to replace a custom record with a Σ-type, so I don't think it should cause a problem?

... still: 🤦 those who forget the (lessons/mistakes of the) past are condemned to repeat them...

[deleted: attached to the wrong issue]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions