-
Notifications
You must be signed in to change notification settings - Fork 46
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
omelkonian
left a comment
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 <[email protected]>
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
|
omelkonian
left a comment
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-libwhich imports large chunks of theData.MapandData.Setmodules from the containers package, including proofs.Comments
I have chosen to not add the prefix
Haskell.to the module namesData.Map.PropandData.Set.Prop, because:Data.Map.Proppart of, say, acontainers-prop.cabalpackage 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.ProporData.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.