I found the paper Why Functional Programming Matters linked off a page about Haskell. Both make some interesting points about the general features of functional programming. In particular I like the comparison between lazy evaluation and pipes, which is something I haven’t run across before in descriptions of that feature. The Why Functional Programming Matters paper jumps into some very specific examples in the process of making its point, which is something that in general I don’t find very convincing. It’s easy to find examples of problems that work well in certain languges or using certain programming styles. But the statements made about being able to compose programs from other full programs and the lack of side-effects leading to better modularization are good points. Haskell looks quite interesting, but I think I’m going to stick with trying to learn Scheme first.