Why I Still Reach for Scheme and Lisp Instead of Haskell

· coding · Source ↗

TLDR

  • Experienced Haskell builder argues Scheme/Lisp wins for prototyping speed, REPL workflow, and macro flexibility despite Haskell’s superior type system.

Key Takeaways

  • Haskell’s monad-heavy API and DSL proliferation on Hackage create steep per-library learning curves that kill prototyping momentum.
  • Scheme (GNU Guile) lets you drop (write ...) anywhere for instant inspection; Haskell’s IO monad forces refactors just to add a debug print.
  • Lisp macros (define-syntax, syntax-rules) reshape the language directly; Haskell needs Template Haskell and a pile of language extensions for equivalent flexibility.
  • The Lisp REPL – especially Guile + Emacs + Arei – enables live function redefinition, in-production debugging, and incremental evaluation that GHCi does not match.
  • Haskell stays valuable as a “platonic ideal” for learning algebraic data types, functors, monads, and effect systems – but Scheme is the practical daily driver.

Hacker News Comment Review

  • Commenters were mostly skeptical or indifferent; the thread is thin and the dominant take is that Lisp/Scheme preference is syntax taste, not a rigorous technical argument.
  • One commenter points to Coalton (a Haskell-like type system embedded in Common Lisp) as a practical bridge for Lispers who want ML-style types without leaving the Lisp world.

Notable Comments

  • @wild_egg: Suggests Coalton as the pragmatic escape hatch – Haskell-style types inside Lisp, skipping the ecosystem friction entirely.

Original | Discuss on HN