Skip to content

Add containers.agda-lib to lib directory #406

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

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

HeinrichApfelmus
Copy link
Contributor

@HeinrichApfelmus HeinrichApfelmus commented Apr 11, 2025

DO NOT MERGE! Please merge #405 first.

This pull request adds a library lib/containers/containers.agda-lib which imports large chunks of the Data.Map and Data.Set modules from the containers package, including proofs.

Comments

  • I have chosen to not add the prefix Haskell. to the module names Data.Map.Prop and Data.Set.Prop, because:

    • Strictly speaking, these modules do not correspond to an existing Haskell module, …
    • … but the properties proven have value as exported Haddock comments. In other words, once we can export properties to comments (related to Preserve comments #114), we can later make Data.Map.Prop part of, say, a containers-prop.cabal package and make the proven properties available as a Haskell package. (The properties cannot be reused for proofs in Haskell Land, but at least they can be exported as "this has been proven!" to Haskell Land.)
  • I was not quite sure whether to choose the name Data.Set.Prop or Data.Set.Law. John Hughes appears to use both "law" and "property" synonymously, while using "law" more often. Perhaps a good distinction is that the "laws" are closer to being complete while "properties" are mostly "haphazard" consequences.

@HeinrichApfelmus HeinrichApfelmus changed the title Heinrich apfelmus/add containers Add containers.agda-lib to lib directory Apr 11, 2025
@HeinrichApfelmus HeinrichApfelmus force-pushed the HeinrichApfelmus/add-containers branch from 26a3543 to 267b107 Compare April 11, 2025 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant