-
Notifications
You must be signed in to change notification settings - Fork 0
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
Hashconsed maps nodes #1
Merged
Merged
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
1aec8e0
WIP on hashconsed maps
dlesbre 68a6d31
Restrictg hash-consed values for better type safety
dlesbre b98c1b2
Hashconsed polymorphic variants
dlesbre 0b4baea
Document name change
dlesbre 136fbb1
MakeCustom renames for homogeneous version
dlesbre edc3e51
More doc + hashconsed homogeneous set
dlesbre 9e44c67
Don't upload artifact on pull request
dlesbre 129b2f1
Change MAP interface and add Hashcons maps
dlesbre 2896643
Some documentation
dlesbre e01056a
More doc and @since comments
dlesbre 3a3a3a5
Version number+stop printing PatriciaTree all over the doc
dlesbre f46029f
Add MAP_WITH_VALUE interface
dlesbre 1fcc4c1
Generic test on hash consed maps
dlesbre a3d4312
Test for patricia tree
dlesbre 8d618d9
Test remove preserve physical eq
dlesbre 1cbc296
Merge branch 'main' into hashconsed-maps
dlesbre d1cb995
Test with small nat as well
dlesbre f7f530a
Changelog
dlesbre 9726947
Revert to fully generic hashconsed trees
dlesbre 2096d88
Some doc changes
dlesbre 7e0dd10
Lots of changes to reintroduce values in hashconsed maps
dlesbre f35a5d6
Doc doc doc
dlesbre 526cf51
More doc
dlesbre 90e6075
CHANGELOG
dlesbre ffa55fd
Newlines before assumes
dlesbre 50eacb8
Merge branch 'main' into hashconsed-maps
dlesbre d1c5b45
Use type = instead of :=
dlesbre b92ee75
doc stuff
dlesbre 36bc560
Update patriciaTree.mli (typo)
mlemerre cb595e3
Update README.md
mlemerre ebbebed
Switch to physical equality for hash-consed equal
dlesbre ab51329
Rename `get_id` to `to_int`
dlesbre 7a92256
Explain generative functors more
dlesbre File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I think we can use == instead of get_id here
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.
Unfortunately not, because these values don't have the same type... This is also why I need an
Obj.magic
in the leaf case.However, the more I think about it, the more I believe we should get rid of arbitrary value maps for hash-consing. It makes little sense to hashcons maps from
'a key
to('a, 'b) value
together with map from'a key
to('a, 'c) value
. So I'll probably change it to use a'a value
type instead of the more generic('a, 'b) value
type.Otherwise we might have problems with different types having equal values.