Skip to content

[ refactor ] lift out complex API specifications-as-records as distinct Spec modules #2976

@jamesmckinna

Description

@jamesmckinna

..., and make clear (again: in a different Impl module?) when a module implements such a spec.

@gallais 's #2975 reminds me that the mess that is Data.Nat.DivMod and its friend Data.Nat.DivMod.WithK might be a lot (only a bit?) cleaner if each such module is shown as implementing a (much simpler) Data.Nat.DivModSpec. Esp. if that allows us to also functorise such specifications (in the SML sense) so that Data.Nat.DivModSpec depends on the specification of the type Fin implementing the remainder field... etc.

cf. recent discussions of AVL trees #2961 #2970 #2969 and prior Zulip discussion

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