Skip to content
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

WIP: Collisionless containers (DO NOT MERGE) #217

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
63b8861
Intermediary commit
Aug 14, 2018
c96f41e
Halfway through
Aug 14, 2018
561214d
Until unionWithKey
Aug 14, 2018
69a5f95
Until mapWithKey
Aug 14, 2018
aaf7dda
until filterMapAux
Aug 14, 2018
6098819
Finished a module
Aug 14, 2018
209ee6b
Something that compiles
Aug 14, 2018
f5474dd
Fixed double collisions
Aug 14, 2018
3db53fc
fixed some bugs
Aug 15, 2018
feeb8c4
At least now the test completes
Aug 15, 2018
e725b1f
Fixed the unions
Aug 15, 2018
e687bba
Made strict hashmap tests pass
Aug 15, 2018
789dd5e
Now without storing the salt anywhere
Aug 15, 2018
d562d8d
Merge branch 'dont-store-salts' into collisionless-containers
Aug 15, 2018
5c6aa0f
Putting back the show instance
Aug 15, 2018
a1b5427
Fixed the filter function as well, to not retain too many collisions
Aug 15, 2018
9eb436e
Fixed compilation warnings
Aug 15, 2018
8edc380
woops
Aug 15, 2018
29d9f90
Deleted a rogue comment
Aug 15, 2018
42dc26f
little comment
Aug 21, 2018
b46bbb0
different hash
Oct 12, 2018
b883ecb
Something that compiles
Oct 12, 2018
992ca50
added back the always collision test, it does not loop infinitely now
Oct 12, 2018
dcec9f1
Fixed the strictness properties
Oct 12, 2018
c348ab5
Got deletions working, sortof
Oct 12, 2018
07ed2f5
Got adjust working, sort-of
Oct 12, 2018
3dda7e1
fixed deleteKeyExists, sort-of
Oct 12, 2018
d4e09fa
Fixed the lazy union tests
Oct 15, 2018
65b6783
Fixed the filter functions
Oct 15, 2018
9c2deeb
Simplified unconsing hashmaps
Oct 15, 2018
2951ae7
fixed strict unions
Oct 15, 2018
1d71c96
little refactorings
Oct 15, 2018
822f08d
Fixed equality, and messed up hashable because we just fixed what was…
Oct 15, 2018
f5bbe44
Fixed the hashing
Oct 15, 2018
0a7b81c
Strictness seems to have been fixed
Oct 15, 2018
4e6e23d
All tests seem to have been fixed now
Oct 15, 2018
6810a29
Refactored lookupRes
Oct 15, 2018
5dd6dd2
Dealth with some review comments
Oct 17, 2018
87de075
Fixed most comments
Oct 18, 2018
4360a4b
Sped up equalKeys for collisions
Oct 18, 2018
9403284
First draft of validity-based testing
Oct 19, 2018
6d16ceb
Moved the validity dependency out of the library
Oct 19, 2018
4e9d582
More accurate validity
Oct 19, 2018
b190874
more accurate validity
Oct 19, 2018
04b5ec5
Gave up on trying to write a principled genValid
Oct 19, 2018
d90dc83
Improved shrinking
Oct 19, 2018
64c1a0a
sick and tired of hashes for a moment
Oct 19, 2018
b076445
Failing test case
Oct 26, 2018
b5169e1
Used some invariants to simplify code
Oct 26, 2018
dc90855
More specific unconsing
Oct 26, 2018
136374a
Fix unconsing and filtering
treeowl Oct 27, 2018
eadac29
Improve the Ord and Ord 1 implementations
treeowl Oct 27, 2018
33854e8
Merge pull request #2 from treeowl/better-ord
NorfairKing Oct 29, 2018
a061c5c
Merge pull request #1 from treeowl/Uncons-fixes
NorfairKing Oct 29, 2018
6ec3979
equal1 and comp1
Oct 27, 2018
5ac7859
done for now?
Oct 29, 2018
cbf034b
Tried to fix the ghc-8.0.2 part of the CI
Oct 29, 2018
b804e5c
Woops
Oct 29, 2018
35bd679
Added a check to the validity instance which exposes another problem
Oct 29, 2018
886856b
got rid of compiler warnings
Oct 29, 2018
cf55ac4
Collapse nodes properly in unconsHM
treeowl Oct 29, 2018
05548d9
Merge pull request #3 from treeowl/fix-uncons-again
NorfairKing Oct 30, 2018
364a3cb
tried to fix travis
Oct 30, 2018
853f978
again
Oct 30, 2018
bddfabf
also reorder goals
Oct 30, 2018
3c81c62
Lower bounds to make cabal fall in line
Oct 30, 2018
13a40c0
Trying again
Oct 30, 2018
07ec38d
Compatibility with old versions of quickcheck
Oct 30, 2018
918cfda
and again
Oct 30, 2018
eb46c82
Not sure if this will help, but we'll see
Oct 30, 2018
b5fb685
CPP for some tests
Oct 30, 2018
6838fff
put back the show instance
Oct 31, 2018
58af451
some docs
Oct 31, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ matrix:
include:
- compiler: "ghc-7.8.4"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-7.8.4], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.8.4], sources: [hvr-ghc]}}
- compiler: "ghc-7.10.3"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-7.10.3], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.10.3], sources: [hvr-ghc]}}
- compiler: "ghc-8.0.2"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-8.0.2], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.0.2], sources: [hvr-ghc]}}
- compiler: "ghc-8.2.2"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.0,ghc-8.2.2], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.2.2], sources: [hvr-ghc]}}
- compiler: "ghc-8.4.1"
env: GHCHEAD=true
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.4.1], sources: [hvr-ghc]}}
Expand Down Expand Up @@ -87,7 +87,7 @@ install:
(cd "."; autoreconf -i);
fi
- rm -f cabal.project.freeze
- cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all
- cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all --reorder-goals --max-backjumps=-1
- cabal new-build -w ${HC} --disable-tests --disable-benchmarks --project-file="cabal.project" --dep -j2 all
- rm -rf "."/.ghc.environment.* "."/dist
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
Expand Down
Loading