Originalmente provenía de un fondo C / C ++ / Ruby y usé conceptos de FP en Ruby siempre que pude. El estado me lastimó un poco el cerebro. Uno de mis amigos me llamó un día y me pidió que escribiera algo en Haskell (¡mi primer trabajo, y con suerte no el último, de Haskell!). Aprendí rápidamente el idioma y creé algo que funcionó. No era hermoso ni nada, pero funcionó.
Me tomé un descanso de un mes de Haskell porque no tenía nada para usarlo. Pero cuando decidí que necesitaba escribir mi propio software de blog, usé Haskell ( https://symer.io ). Haskell es realmente genial porque puede dividir un problema en partes e implementar estas partes de manera diferente según la entrada. Haskell también maneja las fallas extremadamente bien a través del boxeo inteligente de valores. Hay tantas herramientas para trabajar con estas cajas que simplemente olvida que existen.
Mi experiencia con lisp (Scheme) fue completamente negativa. El lenguaje no solo carecía de estas herramientas inteligentes y simples, sino que se sentía tan peligrosamente suelto como Ruby o JavaScript. Fue una experiencia horrible y no ofrece nada nuevo más allá de Ruby o Python.
C ++ no puede mantener una vela a Haskell, fuera de la administración de memoria. Haskell es igual de rápido (si no más rápido), significativamente más breve y mucho más seguro. Pero la seguridad de Haskell nunca se interpone.
TL; TR Haskell es un soplo de aire fresco, y Lisp es un Ruby un poco más funcional.