Order keys generating algorithm. Similar to fractional indexing.
Also see:
- Clojure(Older version with known edge cases) https://github.com/Cumulo/bisection-key.cljs
- Rust(not finished yet) https://github.com/Cumulo/bisection-key.rs
TODO
bisection-key.core/bisect |a |b
Charset, base65:
+-/0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Install calcit-runner to run demo:
cr -1 # run once
cr # run and watch
For JavaScript:
cr --emit-js -1 # emit-js once
yarn build
node js-out/bundle.js # run code
Nothing could be inserted between a
and a+
since +
is very close to zero. Such a key which ends with +
should not be created from current implementation.
Smallest visible value is +
, largest visible values would be zzzzz.....
(infinitely). They are both tricky.
https://github.com/calcit-lang/calcit-workflow
MIT