During the last few years I’ve become more familiar with functional languages. My current favorite is Haskell. During this same time period, I’ve also become more familiar with the existence of efficient immutable data structures which are pretty much a necessity for doing pure functional programming.
I plan to talk a little bit about immutable data structures on this blog. But to introduce you to the topic I first wanted to just provide a list of links to posts I’ve previously read by other bloggers.
Eric Lippert blogs at Fabulous Adventures in Coding and has a whole host of posts tagged with immutability. A good starting is his blog on how to implement an immutable stack. I recommend you read the others as well.
Mark Chu-Carroll writes at Good Math/Bad Math and has done posts on zippers and finger trees among many other structures. Here’s a post on zippers.
And from Edward Z. Yang another perspective on zippers. I especially like the template “You could have invented” that he employs.