Discovering Philip Wadler and his work has piqued my interest in functional programming languages. I was surprised I hadn't heard about him given his hand in XQuery and Java generics.
His latest project, Links seems very interesting with its promise of write-once, run-in-all-three-tiers.
Given that its implemented in Objective Caml, I thought that would be a good way to start learning about functional languages. To this end, I'm going to try implementing some CLR-type problems in Caml and post it here. Since I'm a beginner at this, readers are welcome to provide comments, corrections and improvements in my code.
Of course, Caml is not the only language to consider for learning functional programming. There's the grand-daddy of them all: ML (and it's New Jersey variant: SML). There's Haskell, another Wadler influence. Microsoft's F# is Caml-inspired. Martin Odersky is working on Scala.
All of these languages have elements which I find fascinating, and I'm hoping that starting with an ML will give me sufficient insight to comprehend these other languages correctly.