About

I am a software developer in Seattle, building a new AI software company.

Ads

August 2009

Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Ads


« Combinators | Main | Release Early and Often »

July 30, 2006

Comments

damien

Do you have any links to information on persistent (functional-style) hashtables?

I thought hashtables are an ADT that isnt well-handled by functional programming.

Wes

I currently use a treap to represent associative maps, which give log n behavior.

Persistent hashtables which O(1) are possible through various strategies such as using a chained-hashtable which maintains version info in each chain node, or basing the hashtable on a vlist, an array-like data structure which gives constant access times on average, especially good if hashtables are primarily growing.

A few points:
1) persistent != immutable; they are orthogonal concepts. I recently pointed to a paper by Professor Sleator on the topic of making any data structure persistent.
2) you can get better performance by actually mutating the private data of the hashtable while maintaining the outward appearance of immutability.

Haacked

Wow! The UI has taken some huge steps forward. Nice work.

Judah

I was wondering if everything was OK for you; you mentioned some personal troubles and then you stopped posting for so long. Good to see you back, I hope everything has settled.

I see the UI has changed a lot. Using a black Office 12 look...nice.

Looking forward to that beta. I know how difficult it is to get something ready to finally roll out the door.

p.s. thanks for the blog plug.

The comments to this entry are closed.