I've been spending the past few weeks trying to understand functional programming, especially OCaml. From what I've read, it's supposed to be one of the fastest functional programming language implementations (and corrispondingly, one of the fastest ML implementations) out there.
It took a few years for it to start to crystalize for me. I think I first started looking at SML around 1996, and tried to convince, without success, one of my Math/Com Sci instructors to assist me in a independent study exploration of it. His reasoning was that: 'At this point in your degree, you should be able to pick up any programming language'.
I guess the only thing he really didn't count on is that ML requires a different mindset then the imperitive programming languages that were pretty much the standard. I had taken some LISP with him, but the approach there was limited to symbolic manipulation for simple AI stuff, like eliza, deeply recursive functions, and information space searching.
Thats all well and good, but it still didn't prepare me for actually having to worry about domain mapping, and something so well and thoroughly steeped in the lambda calculus, and side effect free coding.
But it's finally making sense. I kinda wish I had a project to use it on.
The big reason I'm looking into functional programming right now is that I'm hoping to figure out some of the nifty implicit typing rules for Coldstore's second programming language, freon.