Lambda the Ultimate

inactiveTopic Purely Functional Data Structures
started 1/23/2001; 12:53:40 PM - last post 1/26/2001; 12:16:27 PM
andrew cooke - Purely Functional Data Structures  blueArrow
1/23/2001; 12:53:40 PM (reads: 1325, responses: 8)
Purely Functional Data Structures
The link above is a review (postscript). The code is available online - that page also has papers that duplicate much of the book (many are also here, which is listed here).

I only got the book today and have read just under half (skipping some details I'll go back to later) in whatever spare time I could find (to the extent of ignoring Maeda@Media which I also picked up today!). If you're interested in data structures and functional programming (especially lazy evaluation) you'll be fascinated...
Posted to "" by andrew cooke on 1/23/01; 12:55:46 PM

andrew cooke - Re: Purely Functional Data Structures  blueArrow
1/23/2001; 12:58:30 PM (reads: 1330, responses: 0)
Grrr. The mailto link was added by too-smart software (silly name for a book anyway...)

Adam Vandenberg - Re: Purely Functional Data Structures  blueArrow
1/23/2001; 4:27:16 PM (reads: 1351, responses: 0)
(You can put a slash before the at sign to get something@like.this without a link.)

Ehud Lamm - Re: Purely Functional Data Structures  blueArrow
1/24/2001; 12:32:17 PM (reads: 1323, responses: 0)
I don't have the book, but the I found this paper to be very interesting indeed. (I was sure I mentioned it here in the past, but I can't find it).

I found it interesting and cool, but also distressing. When you see how much effort goes into simple things (e.g., FIFO queues) you want to run back to imperative languages...

(Well, when you get used to fold tricks, you want to run to functional languages. Life is tough.)

andrew cooke - Re: Purely Functional Data Structures  blueArrow
1/24/2001; 1:35:30 PM (reads: 1310, responses: 0)
I must admit I haven't thought much yet about how I'd actually use any of it - it was just fun to find a whole bunch of new (to me) ideas. Fuctional programming as a whole seems to be more relaxed about finding new approaches - compared to working in Java where there's normally a pretty standard way to solve most problems (cumbersome tools, big books of design patterns, standard interfaces). Is it the culture difference between industry and academia? Or just the fleeting pleasure of the new (to me)? Or the flexibility of "higher level" languages?

Anyway, some of the more complex stuff Okasaki suggests would be unnecessary in most work, I would have thought. For example, amortized is usually good enough (imho!), avoiding the messy scheduling to guarantee good worst case behaviour.

In the slim book that introduces things I've never even thought of before stakes I think this ranks alongside Graham's On Lisp - so I can't understand why it's not more well-known (surely they cover similarly obscure subjects!). Maybe it's because Graham's book is more practical (which is your point, I guess).

Ehud Lamm - Re: Purely Functional Data Structures  blueArrow
1/25/2001; 2:10:01 PM (reads: 1300, responses: 0)
more practical (which is your point, I guess)

My point wasn't about being practical. It is just that I think that from a computational (not mathematical) stand point, bending backwards and keeping two lists to implement FIFO, is simply less aesthetically appealing. But maybe it is just that I am still not enlightened...

andrew cooke - Re: Purely Functional Data Structures  blueArrow
1/26/2001; 12:34:43 AM (reads: 1296, responses: 0)
wasn't about being practical

Now I'm saying praticality and aesthetics are the same thing... (see elegant code thread for our positions in reverse ;-)

Ehud Lamm - Re: Purely Functional Data Structures  blueArrow
1/26/2001; 12:00:25 PM (reads: 1289, responses: 0)
So you say that X is equal to Y, where as I insist Y is equal to X. I guess these are differences that can't be reconciled

BTW, we did mention the papers comparing lazy/strict efficiency here in the past, right?

Chris Rathman - Re: Purely Functional Data Structures  blueArrow
1/26/2001; 12:16:27 PM (reads: 1289, responses: 0)
BTW, we did mention the papers comparing lazy/strict efficiency here in the past, right?

It's been awhile. :-)