Her ikisini de öğrenmenizi öneririm, önce Haskell, sonra Common Lisp. Haskell ile olan deneyimim, statik yazmanın ilk başta kısıtlayıcı bir sıkıntı gibi göründüğü, ancak bir kere alıştığım zaman, yazım hatalarımın çoğunun arkalarında saklı mantık hataları olduğunu fark ettim. Bu noktaya ulaştığınızda ve türlerini düşünmeyi öğrenen ve kendi türlerinizi çözümünüzü ifade etme aracı olarak tanımlayan bir sonraki dönüm noktası, Common Lisp için hazır olacaksınız.
Common Lisp ile, Haskell'den monads, currying ve beğendiğiniz her şeyi ekleyebilirsiniz, fakat aynı zamanda Frank Shearar gibi çoklu kalıtım ve çoklu gönderme özellikli genel fonksiyonlar ve gelişmiş bir istisna işleme sistemi elde edebilirsiniz.
Öyleyse neden önce Common Lisp'i öğrenmiyorsun? Bir prosedürel ve OOP geçmişinden gelince, benim deneyimim, yalnızca kullanmam gerekinceye kadar işlevsel programlamayı gerçekten anlamadığımdı. İşlevsel programlama rahat olduğunda, Common Lisp'in sunduğu araçların geri kalanını ekleyebilir ve eldeki görevde en iyi olanı kullanabilirsiniz.