-
Notifications
You must be signed in to change notification settings - Fork 41
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
Add containers.agda-lib
to lib
directory
#406
Conversation
containers.agda-lib
to lib
directory
26a3543
to
267b107
Compare
267b107
to
7122057
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great stuff!
What is urgently missing before we can merge is a test suite that ensures we get the desired Haskell output.
Other than that, you've imposed a rather idiosyncratic style throughout that should be reversed in favour of consistency with the rest of the repo. It'd be easier if I pushed a styling commit after yours if you gave me access to your branch. Otherwise, let me know if you need explicit indications.`
Thanks! 😊
As this code binds an existing Haskell library, it does not produce any Haskell output by itself. I suppose the next best thing is that we add an Agda module that imports Or do you mean the "Haddock output" for e.g. At the very least, we can check in CI that the proofs in
Yeah, sorry about that. 😅 I like to squander vertical space for the purpose of Haddock output. I also like This branch is coming from a fork, I have invited you to my fork. (Alternatively, you could invite me to the original repo, I don't mind either way). |
OK, you have plans for producing Haddock, so that makes sense now. Then it's OK to leave the style as is for now, and revisit later if needed. Perfectly fine to use |
Exactly! A simple test that uses a handful of operations on sets and maps and typechecks correctly with proper imports.
Nah, it's fine to leave this for the future. |
4636ee6
to
06331fe
Compare
Co-authored by: Orestis Melkonian <melkon.or@gmail.com>
3537d52
to
df6b6e0
Compare
df6b6e0
to
f7b1b5b
Compare
I have now added a commit with two modules I have decided to put them in a
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent!!
This pull request adds a library
lib/containers/containers.agda-lib
which imports large chunks of theData.Map
andData.Set
modules from the containers package, including proofs.Comments
I have chosen to not add the prefix
Haskell.
to the module namesData.Map.Prop
andData.Set.Prop
, because:Data.Map.Prop
part of, say, acontainers-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
orData.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.