which functional language to learn?
marcocampos: In my opinion don't learn any LISP, Common LISP or Scheme, it doesn't matter. Why? Fragmentation. It's very hard to write something a bit complex that can run on the various LISP compilers/interpreters without heavy changes. Also, there is a lack of good and up-to-date 3rd party libraries/frameworks which leads to having to write things that most languages already provide by default or than can be easily obtained.Go with Scala, Clojure or Haskell. The first two run over the JVM and seem to have a very nice community behind them. Haskell is very cool and it will definitely change the way you look at programming.There is also F# which is very cool and runs over the .NET framework. If you're into Microsoft stuff then it might be worth it.