Commit graph

26 commits

Author SHA1 Message Date
29f01bf3a2 Docs and Tests fixups 2021-02-01 22:07:32 +01:00
b365f05b5d Write tests 2021-02-01 21:36:34 +01:00
c26dfad78d Fix byte sequence difference algorithm 2021-01-31 22:56:09 +01:00
1f66561cdc WIP Fix difference algorithm 2020-12-05 13:15:50 +01:00
642aaf718c Fix alist implementation
Missed the general object case (notably `f`) for root node.
2020-02-24 16:26:43 +01:00
7c61cdf984 Change literal syntax to CB{ 2020-02-24 16:26:17 +01:00
921f1ca979 Add documentation 2020-02-24 15:52:57 +01:00
12774bd120 Pimp playground, re-bind several UI keys 2020-02-24 15:50:22 +01:00
79b67e1ab3 Add a simpler and faster key serializer
Serialization of numeric keys and strings is faster but keys can no longer be
 freely mixed between object types as several serializations of different keys
 now coincide. Serializations of keys of a single type are guaranteed to be
 unique.
2020-02-24 15:47:10 +01:00
e3f4600c85 Use left and right constants from trees vocabulary 2020-02-24 15:44:26 +01:00
e5384bc1b0 Remove old code 2020-02-24 15:44:07 +01:00
00e9b54b22 Implement Assoc Protocol and pretty printing 2020-02-17 11:32:01 +01:00
ea07711f17 Implement insert 2020-02-14 20:57:58 +01:00
f06eda5f16 WIP Deactivate broken insert code and rewrite
Split into:
 - walk for best fit
 - updating leaf / creating new split node and leaf node
 - insert new split node if necessary (WIP)
2020-02-11 22:30:10 +01:00
8400602c06 Implement deletion; break insertion as it is still wrong 2020-02-10 23:24:56 +01:00
41c4a51d64 Complete insertion via set-at
Use MAGIC Algorithms log2 folding to calculate critical bit of the form
 yyyyxyyyy, where y bits are 1 and x is 0, denoting the critical bit (from the
 right).

 Idea from Adam Langley's C example implementation.
2020-02-09 23:05:08 +01:00
9de4680d39 Distinguish into internal and leaf nodes; Implement appending leaf node
No internal node splitting
2020-02-09 21:28:06 +01:00
0674a825b0 critbit: Make compiler happy NOFIX 2020-02-09 21:27:11 +01:00
3e2f2e7dac Implement set-at; cb-set for the empty tree 2020-02-09 15:54:27 +01:00
5a7d699b3b Introduce key-bytes symbol and with-key 2020-02-09 01:54:08 +01:00
b5dd6e1065 Start implementation as a sub class to trees 2020-02-09 01:40:58 +01:00
b686040e7d WIP: Some code updates... 2020-01-18 21:45:03 +01:00
c8d3ba4d59 WIP: Searching, node calculation, put into empty tree
Misses insertion of a node into the tree
2019-04-23 23:00:38 +02:00
99e724d0cd Add critbit CWEB documentation
from https://github.com/agl/critbit
2019-04-23 15:35:26 +02:00
f2c44cae8d WIP Initial code 2019-04-23 09:36:06 +02:00
0f4884bd8b Add playground 2019-04-23 09:35:57 +02:00