<div><div dir="auto">Benoit,</div><div dir="auto"><br></div><div dir="auto">It’s called “Judy Array” and Erlang bindings do exist:</div><div dir="auto"><a href="https://github.com/knutin/judy">https://github.com/knutin/judy</a><br></div><br><div class="gmail_quote"><div dir="auto">You can search for next/previous elements and do stuffs no other hashing libs support.</div><div dir="auto"><br></div><div>/Frank</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I’m didn’t find anything that fit my need. There are some btree libs but that doesn’t fit my needs. Also a tree is not that fast for memory imo. I’m thinking to build a red-black tree lib that support iterations for it. Red-black trees look simple enough to be build as a pure functional data structure. Still contemplating though.<br>
<br>
Benoit<br>
<br>
> On 9 Oct 2017, at 09:52, Billy Svensson <<a href="mailto:billy.svensson@gmail.com" target="_blank">billy.svensson@gmail.com</a>> wrote:<br>
><br>
> I've needed this in the past too. Couldn't find any lib that could do<br>
> it so I just ported the floor and ceiling methods of the TreeMap class<br>
> in Java to an Erlang module that operated on a gb_tree.<br>
> It's a bit ugly though since you have to work on the "hidden" data<br>
> structure of the gb_trees module, so would be great if this could be a<br>
> part of the standard module instead.<br>
><br>
> Not sure I still have that code, but could try to find it if you want.<br>
> You would probably need to test it a bit better though since I only<br>
> used it for a small hobby project.<br>
><br>
> On Sun, Oct 8, 2017 at 8:21 PM, Benoit Chesneau <<a href="mailto:bchesneau@gmail.com" target="_blank">bchesneau@gmail.com</a>> wrote:<br>
>> hmm i forgot to mention i need to also lookup for the data so not sure if a<br>
>> zipper is designed for it.<br>
>><br>
>> I will have a loom kn the libs anyway, thanks for the links :)<br>
>><br>
>> - benoît<br>
>><br>
>> On 8 Oct 2017, at 19:33, Dmitry Kolesnikov <<a href="mailto:dmkolesnikov@gmail.com" target="_blank">dmkolesnikov@gmail.com</a>> wrote:<br>
>><br>
>> Hello,<br>
>><br>
>> It looks like you are looking for data structure called zipper. I’ve not<br>
>> used any of these but there is at least two versions of zippers for Erlang.<br>
>><br>
>> <a href="https://github.com/ferd/zippers" rel="noreferrer" target="_blank">https://github.com/ferd/zippers</a><br>
>> <a href="https://github.com/inaka/zipper" rel="noreferrer" target="_blank">https://github.com/inaka/zipper</a><br>
>><br>
>> - Dmitry<br>
>><br>
>><br>
>> On 8 Oct 2017, at 20.14, Benoit Chesneau <<a href="mailto:bchesneau@gmail.com" target="_blank">bchesneau@gmail.com</a>> wrote:<br>
>><br>
>> Hi all,<br>
>><br>
>> I’m looking for a datastructure like a skiplist to maintain an ordered set<br>
>> of Key/Values. It has to have the following properties:<br>
>><br>
>> * allows custom compare function to order the data in a specific order<br>
>> * allows the user to iterate forward (next) and backward (prev) the data<br>
>><br>
>> Has someone already written a lib that offers such datastructure? Or maybe<br>
>> we can add a `prev(Key) function to gb_tree? Any idea i welcome :)<br>
>><br>
>> - benoit<br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
>><br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div></div>