I've lately been learning to program in OCaml. Having some familiarity with Haskell I'll say that, as of now, it's hardly distinguishable from Haskell to me. Perhaps I'll change my tune in a few weeks of playing with it. For now, though, they both seem like functional languages that incorporate object-oriented functionality, they strongly depend on recursion and pattern-matching, and both are largely seen as educational play-things rather than industrial-strength languages.
Well, there's that stereotypical grumbling over nothing that all techy people do. On the bright side, using OCaml is fun, and I hope to exercise and tighten my familiarity with Recursion Theory through its use.
I'm also simultaneously getting through Hopcroft's Automata book, and that's more confusing. The exact nature of the physical systems that he (they?) model with graphs is not transparent. Perhaps I'm being a little too tedious in trying to match things up.