There are other benefits to programming techniques built around general catamorphisms, too! For instance, by abstracting all recursion into the catamorphism framework, the destructor function that does all the heavy lifting can often be easily expressed in a subset of the language that contains only total functions (that is, functions that always produce a valid result in finite time), allowing (comparatively) simple proofs of correctness.
This also pairs well with the mirrored approach of building (potentially infinite) data in an "on demand" manner. Abstracting the corecursion into the anamorphism likewise allows the constructor functions to often be total.
Give the real URL and note that it is a PDF in the title!
Agreed. Personally I much prefer Google's viewer to scribd (no flash!) but I’d still rather a link to the original pdf. I can (and do) add my own Google viewer links in with greasemonkey ( http://www.cs.toronto.edu/~murray/code/#googleviewer ).
Sorry, I was just passing the link along as it was passed to me. I have no objection to someone else reposting it or to a moderator modifying the link here.
I would never have noticed. I've been using the Chrome extension to open PDFs in Google docs for weeks now. Chrome is now my preferred PDF reader. It is fast, usable, and lives where I live: in my browser.
It seems like a pretty logical step to go from cons cells to these conc structures. I wonder if Rich Hickey knows about this and can get it into Clojure somehow (if it isn't already being used somewhere). It seems like a perfect fit for Clojure.
Clojure is an example given in the presentation; its immutable lists are actually 64-way trees. (Or so the talk says; I thought it was vectors that were implemented as trees.)
The highlight of the discussion (if you ask me) was this video link of Steele giving this talk at ICFP:
http://www.vimeo.com/6624203