@John
sorry, I am a little bit noobish to mailing lists :). You're right, I'll
move to your (personal) e-mail.


2013/11/21 John Snelson <[email protected]>

> This conversation should probably move to personal email or the github
> issue tracker. This isn't a bug, it's by design. If it didn't work this way
> you'd never be able to replace a key that already existed in a map.
>
> John
>
>
> On 21/11/13 07:56, jean-marc Mercier wrote:
>
>> @John
>>
>> Hello.
>> I started modifying your RB tree. I noticed that, while inserting two
>> time the same keys, the last inserted value replace
>> the previous one into your rbtree. As an illustration the following query
>>
>> let $map := map:new(
>> (map:entry("dummy","rocks"),map:entry("dummy","roll")) )
>> return map:get($map,"dummy")
>>
>> returns "roll"
>>
>> I was expecting to "rocks". First : can you reproduce it ? (I modified
>> your files, and use BaseX interpretor. It is better to check with
>> another implementation).
>> Second, should I "roll" your rbtree or is this expected (is this a bug
>> or not ?) ?
>>
>>
>>
>>
>>
>>
>> 2013/11/20 jean-marc Mercier <[email protected]
>> <mailto:[email protected]>>
>>
>>
>>     Yes you're right, using fold should be strightfroward.
>>
>>     For the remove function, I'll try. Hopefully I won't spent too much
>>     time :)
>>     I'll keep you posted
>>
>>
>>     2013/11/20 John Snelson <[email protected]
>>     <mailto:[email protected]>>
>>
>>
>>         On 20/11/13 13:16, jean-marc Mercier wrote:
>>
>>             ok. I've done a first draft that is working. I will keep the
>>             code a
>>             little bit to tune and complete it. For instance, that could
>>             be an idea
>>             to implement the remove($map,$key) function, or to implement
>>             key($map).
>>
>>
>>         Implenting keys($map) can be done using the fold() function. I
>>         recall the remove() algorithm being a fair amount harder to
>>         implement in a functional red/black tree, and I didn't need it
>>         so I didn't tackle it.
>>
>>
>>             However, I have to modify your rbtree to do it.
>>
>>
>>         Very happy to accept contributions of a remove() implementation
>>         if you do it. :-)
>>
>>
>>         John
>>
>>         --
>>         John Snelson, Lead Engineer http://twitter.com/jpcs
>>         MarkLogic Corporation http://www.marklogic.com
>>
>>
>>
>>
>
> --
> John Snelson, Lead Engineer                    http://twitter.com/jpcs
> MarkLogic Corporation                         http://www.marklogic.com
>
_______________________________________________
[email protected]
http://x-query.com/mailman/listinfo/talk

Reply via email to