I have taken on the task of learning erlang. I was trying to decide between learninng Haskell, OCaml, or Erlang. OCaml, I decided against since it had too close a similarity to C and I wanted to really stretch myself. Haskell and Erlang both fit that bill however I found the Erlang Documentation to be far better for someone completely new to the functional programming world. Haskell's idea of a tutorial tried to cover too many concepts at once and took too long to get to the hands on stuff. Also erlang offered the opportunity to learn Distributed programming concepts along the way so erlang it was. You can see my first erlang project etap here.