A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG | AH | AI | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | name | t. params | has func | insert | update | remove | isEmpty | member | get | size | min | max | eq | keys | sorted? | values | sorted? | toList | sorted? | fromList | map | foldl | foldr | filter | partition | union | intersect | diff | merge | Implementation | key | needs comparator | ? | Notes | ||
2 | elm/core | 2 | no | log n | log n | log n | const | log n | log n | n | N/A | N/A | max(f,s) | == | n | yes | n | yes | n | yes | n log n | n | n | n | n log n | n log n | f log (f + s) | f log (f * s) | f log (f * s) | f + s | RBtree | comparable | no | N/A | ||
3 | edkelly303/elm-any-type-collections | 3 | no | log n | log n | log n | const | log n | log n | n | N/A | N/A | max(f,s) | == | n | comp | n | comp | n | comp | n log n | n | n | n | n log n | n log n | f log (f + s) | f log (f * s) | f log (f * s) | f + s | Statically wrap elm/core with to/fromComparable | to/fromComparable | statically | yes | no DCE | |
4 | edkv/elm-generic-dict | 2 | no | log n | log n | log n | const | log n | log n | n | N/A | N/A | max(f,s) | == | n | comp | n | comp | n | comp | n log n | n | n | n | n log n | n log n | f log (f + s) | f log (f * s) | f log (f * s) | f + s | Opaque (Dict String (k,v)) | toString | Build/Query/fromList | no | ||
5 | escherlies/elm-ix-dict | 2 | yes | log n | N/A | log n | const | log n | log n | n | N/A | N/A | N/A | N/A | n | yes | n | yes | n | yes | n log n | n | n | n | n log n | n log n | f log (f + s) | f log (f * s) | f log (f * s) | N/A | Opaque (Dict k v, fromValue) | comparable, fromValue | empty/fromList | yes | self-keyed | |
6 | jjant/elm-dict | 2 | yes | const | N/A | const | N/A | N/A | op | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | n | const | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | k -> Maybe v | == | no | N/A | removing items does not free memory! | |
7 | matzko/elm-opaque-dict | 2 | yes | log n | log n | log n | const | log n | log n | n | N/A | N/A | N/A | N/A | n log n | yes | n | comp | n | comp | n log n | n | n | n | n log n | n log n | f log (f + s) | f log (f * s) | f log (f * s) | f + s | Dict String (k,v) + toString | toString | empty/fromList | yes | ||
8 | miniBill/elm-fast-dict | 2 | no | log n | log n | log n | const | log n | log n | const | log n | log n | min(f,s) | eq | n | comp | n | comp | n | comp | n log n | n | n | n | n log n | n log n | f log (f + s) | f + s + r log r | s log f | f + s | RBTree | comparable | no | ? | ||
9 | miniBill/elm-generic-dict | 1 | no | log n | log n | log n | const | log n | log n | n | N/A | N/A | n | == | n | comp | n | comp | n | comp | n log n | n | n | n | n log n | n log n | f log (f + s) | f + s + r log r | s log f | f + s | Statically wrap elm/core with toComparable | toComparable | statically | yes | generates on module per key type | |
10 | owanturist/elm-avl-dict | 2 | yes | log n | log n | log n | const | log n | log n | const | log n | log n | N/A | N/A | n | yes | n | yes | n | yes | n log n | n | n | n | n log n | n log n | f log (f + s) | f log (f * s) | f log (f * s) | f + s | RBTree + comparator | comparator | empty/fromList | yes | ||
11 | pzp1997/assoc-list | 2 | no | n | n | n | const | n | n | n | N/A | N/A | f * s | eq | n | insert | n | insert | const | insert | n² | n | n | n | n | n | f (f + s) | f * s | f * s | f * s | Opaque (List (k, v)) | == | no | N/A | ||
12 | Timo-Weike/generic-collections [Auto] | 3 | yes | log n | log n | log n | const | log n | log n | n | N/A | N/A | s log f + f log s | eq | n | comp | n | comp | n | comp | n log n | n | n | n | n log n | n log n | f log (f + s) + s log s | f log (f * s) | s log f | f + s | Opaque (Dict comparable (k, v) + toComparable) | toComparable | empty/fromList | yes | eq only checks keys | |
13 | Timo-Weike/generic-collections [Manual] | 3 | no | log n | log n | log n | const | log n | log n | n | N/A | N/A | max(f,s) | == | n | comp | n | comp | n | comp | n log n | n | n | n | n log n | n log n | f log (f + s) + s log s | f log (f * s) | s log f | f + s | Opaque (Dict comparable (k, v)) | toComparable | Build/Query/fromList/Combine | no | eq only checks keys | |
14 | truqu/elm-dictset | 2 | yes | log n | log n | log n | const | log n | N/A | n | N/A | N/A | N/A | N/A | n | yes | n | yes | n | yes | n log n | n | n | n | n log n | n log n | f log (f + s) | f log (f * s) | f log (f * s) | N/A | Opaque (Dict k v, fromValue) | comparable, fromValue | empty/fromList | yes | self-keyed | |
15 | turboMaCk/any-dict | 3 | yes | log n | log n | log n | const | log n | log n | n | N/A | N/A | N/A | N/A | n | comp | n | comp | n | comp | n log n | n | n | n | n log n | n log n | f log (f + s) | f log (f * s) | f log (f * s) | f + s | Opaque (Dict comparable (k, v) + toComparable) | toComparable | empty/fromList | yes | ||
16 | lamdera/containers | 2 | no | log n | log n | log n | const | log n | log n | const | N/A | N/A | s log f | eq | n | insert | n | insert | n | insert | n log n | 2 n | n | n | n log n | n log n | f log (f + s) | f log (r + s) | Hashtable | == | no | |||||
17 | hedgehogface/dict-any-set-any | |||||||||||||||||||||||||||||||||||
18 | ||||||||||||||||||||||||||||||||||||
19 | Legend | |||||||||||||||||||||||||||||||||||
20 | Better than most | |||||||||||||||||||||||||||||||||||
21 | Tradeoff | |||||||||||||||||||||||||||||||||||
22 | Watch out | |||||||||||||||||||||||||||||||||||
23 | I'm not sure | |||||||||||||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||||||||||||
26 | ||||||||||||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||||||||||||
30 | ||||||||||||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||||||||||||
100 |