Saya sarankan belajar keduanya, Haskell pertama, kemudian Common Lisp. Pengalaman saya dengan Haskell pada awalnya adalah pengetikan statis tampaknya menjadi gangguan yang membatasi, tetapi begitu saya terbiasa, saya perhatikan bahwa sebagian besar kesalahan ketik saya memiliki kesalahan logika yang bersembunyi di belakang mereka. Ketika Anda sampai pada titik ini, dan tonggak sejarah berikutnya, yang belajar untuk berpikir dalam tipe dan mendefinisikan tipe Anda sendiri sebagai sarana untuk mengekspresikan solusi Anda, Anda akan siap untuk Common Lisp.
Dengan Common Lisp, Anda dapat menambahkan monad, kari, dan semua yang Anda suka dari Haskell, tetapi Anda juga mendapatkan banyak warisan seperti yang disebutkan Frank Shearar, dan fungsi generik dengan beberapa pengiriman, dan sistem penanganan pengecualian canggih.
Jadi mengapa tidak belajar Common Lisp dulu saja? Berasal dari latar belakang prosedural dan OOP, pengalaman saya adalah bahwa saya tidak benar-benar mengerti pemrograman fungsional sampai saya harus menggunakannya secara eksklusif. Setelah pemrograman fungsional nyaman, Anda dapat menambahkan sisa alat yang disediakan Common Lisp, dan menggunakan alat apa pun yang terbaik untuk mengerjakan tugas yang ada.