:clojure-lsp: Released new https://clojure-lsp.github.io/clojure-lsp/ version with support for 19 known snippets and custom user snippets during completion 🎉 For more information check #lsp
Just released first/beta version of Tightly Packed Trie implementation as described in this paper: https://www.aclweb.org/anthology/W09-1505.pdf.
https://github.com/eihli/clj-tightly-packed-trie
https://clojars.org/com.owoga/tightly-packed-trie
It results in compression of ~95% for a trie implemented with a traditional Clojure data structure like a hash-map.
The entire tightly-packed data structure is a contiguous array of bytes as a java.nio.ByteBuffer
. Address offsets in the ByteBuffer are stored as variable-length encoded integers, which saves a lot of space compared to typical 32 or 64 bit pointers.
Nice! I have been thinking about something like this quite a few times lately but haven't actually needed to use one yet 😄
Interesting, and neat that you provide the paper. It always very instructive to take a "formal" description and compare it with an actual implementation.
People are often scared of papers just to realize that it is pretty straightforward in code.
Yeah some papers can be scary but this one was a great introduction. Straightforward, short, and no advanced math.