Lenguaje #17

Haskell 1990

Funcional puro, evaluación lazy y un sistema de tipos expresivo. Haskell sirvió como laboratorio de ideas que inspiraron a lenguajes modernos y a nuevas formas de pensar la composición y la seguridad.

Dominio: académico / industrial selecto Paradigma: funcional puro Evaluación diferida (lazy)
Ficha técnica

Datos esenciales

1990, especificación por el comité académico liderado por Paul Hudak, Philip Wadler y otros. Lenguaje funcional puro, tipado estático y fuerte, evaluación lazy por defecto.

Funcional puro Tipado fuerte Lazy
Historia y evolución

Nace de la necesidad de unificar lenguajes funcionales académicos. Haskell 1.0 (1990) formaliza el núcleo; Haskell 98 ofrece una versión estable para enseñanza e industria. Extensiones GHC agregan typeclasses avanzadas, GADTs, TypeFamilies, STM y soporte moderno.

Personas e hitos

Paul Hudak, Philip Wadler, Simon Peyton Jones, John Hughes, Lennart Augustsson. Simon Peyton Jones lidera GHC, el compilador de referencia. Wadler impulsa monads en programación funcional.

Uso y propósito

Enseñanza de programación funcional, prototipado de DSLs, sistemas de compilación, servidores web (Yesod, Servant), fintech y blockchains (Cardano/Plutus), análisis estático y herramientas de verificación.

Sintaxis y estructuras

Expresiones, pattern matching, funciones de orden superior, listas por comprensión, typeclasses (Eq, Ord, Monad), módulos, newtypes, algebraic data types, monads y applicatives, STM para concurrencia.

Ecosistema

GHC y GHCi, Cabal y Stack para build, Hackage como repositorio de paquetes, frameworks web (Yesod, Scotty, Servant), QuickCheck para pruebas basadas en propiedades, STM en la librería estándar.

Influencias y legado

Popularizó las monads en programación práctica, inspirando a Scala, Rust (Result/Option), Swift (Optionals) y Java/Kotlin con lambdas. Laziness y typeclasses influyeron en el diseño de sistemas de tipos modernos.

Anécdotas y cultura

El meme “avoid success at all costs” reflejaba su espíritu experimental. QuickCheck mostró el poder de las pruebas basadas en propiedades. Las discusiones sobre monads son parte del folklore FP.

Estado actual

GHC se actualiza regularmente, comunidades activas en Hackage y Stack. Usado en nichos industriales (fintech, blockchain) y como referencia académica para diseño de tipos y concurrencia.

Haskell mostró que la seguridad de tipos y la pereza por defecto pueden convivir con expresividad y concurrencia avanzada, influyendo a toda una generación de lenguajes modernos.