Quick post to say that I've put my dabblings into Chris Okasaki's
[[http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504][Purely
Functional Data Structures]] book up as a
[[http://github.com/jamesaimonetti/Purely-Functional-Data-Structures][github
repo]]. I am picking and choosing what exercises and examples to code,
with the goal being to slowly cover the whole book. Some concessions are
made to fit the ideas into Erlang (like recursively calling an anonymous
function), but overall I think the ideas fit nicely. There is a
[[http://www.erlang.org/pipermail/erlang-questions/2000-October/001916.html][streams
lib]] from Richard Carlsson that I found on the Erlang mailing list in
the repo as well that I used for reference for a couple things in
chapter 4. I stuck with my streams being represented either as an empty
list [] or [term() | fun()] with term() being the calculated value and
fun() being the suspension function, instead of the tuple that Richard
chose. After reading further in the thread, I understand why (don't
confuse people that might use proper list functions on streams) but for
my small examples, it was enough to use lists.
