[1] I usually do (require 'cl) with emacs Lisp, does that count as cheating?
Dream environment (unconstrained by existing projects): C, OCaml (or Scala if there's need to be on JVM), Common Lisp or Clojure (can't make up my mind between Lisp-1 and Lisp-2), Perl (I like Python, but I don't see what problem it solves that Perl doesn't).
Considering adding Erlang to the mix (worked halfways through Joe Armstrong's book). Considering learning Haskell (although I am already familiar with Monads, ADTs, pattern matching - from OCaml and Scala - and semi-familiar with ideas behind type classes from Scala's higher-kindred types and OCaml's modules).
At work: Java, Scala, Clojure, Python, Emacs Lisp[1], ad-hoc scripting in Perl and shell
At home: C, OCaml, C++, Scala, Java, Clojure, Scheme (mzscheme), Python, Perl, Emacs Lisp[1]
[1] I usually do (require 'cl) with emacs Lisp, does that count as cheating?
Dream environment (unconstrained by existing projects): C, OCaml (or Scala if there's need to be on JVM), Common Lisp or Clojure (can't make up my mind between Lisp-1 and Lisp-2), Perl (I like Python, but I don't see what problem it solves that Perl doesn't).
Considering adding Erlang to the mix (worked halfways through Joe Armstrong's book). Considering learning Haskell (although I am already familiar with Monads, ADTs, pattern matching - from OCaml and Scala - and semi-familiar with ideas behind type classes from Scala's higher-kindred types and OCaml's modules).