zeno_indexing_ex
A little fractional indexing library you can use to generate ordered keys
(sequences) in your Elixir backend, compatible with keys generated on the
client-side (using TODO zeno-indexing-js).
This library's implementation to fractional indexing borrows generously and gratefully from David Greenspan's notebook.
Installation
If available in Hex, the package can be installed
by adding zeno_indexing_ex to your list of dependencies in mix.exs:
def deps do
[
{:zeno_indexing_ex, "~> 0.1.0"}
]
endThis library's documentation be found at https://hexdocs.pm/zeno_indexing_ex.
FAQ
Q: Why yet another fractional indexing library?
zeno_indexing_ex was initially written in the context of
StepTree where client/browser code generated
fractional indices. Over time, for conflict resolution as well for testing, it
became clear that the backend server, written in Elixir, would have to generate
fractional indices as well.
At the time of its writing, I didn't know of any Elixir implementations, and I was afraid it might drift by accident or on purpose from the Javascript implementations out there, so I decided to take matters into my own hands.
Q: What's with the name?
Well I wanted to pick a unique name, and I do think Zeno's dichotomy paradox is analogous to how in theory fractional indexing works, assuming we had infinitely precise floating point numbers, of course!