Haskell | ||
---|---|---|
Paul Hudak, Lennart Augustsson, John Hughes, Simon Peyton Jones, Erik Meijer y Philip Wadler https://www.haskell.org | ||
Información general | ||
Extensiones comunes | hs y lhs | |
Paradigma | Funcional, no estricto, modular, fuertemente tipificado | |
Apareció en | 1990 | |
Diseñado por | Universidad de Yale, Universidad de Glasgow | |
Sistema de tipos | Fuerte, estático | |
Implementaciones | GHC, Hugs, NHC, Yhc, JHC | |
Influido por | Miranda, Orwell, ML, Gofer | |
Ha influido a | Python, Java, C#, Scala | |
Haskell (pronunciado /ˈhæskəl/)[1] es un lenguaje de programación estandarizado multi-propósito, funcionalmente puro, con evaluación no estricta y memorizada, y fuerte tipificación estática. Su nombre se debe al lógico estadounidense Haskell Curry, debido a su aporte al cálculo lambda, el cual tiene gran influencia en el lenguaje. En Haskell, «una función es un ciudadano de primera clase» del lenguaje de programación. Como lenguaje de programación funcional, el constructor de controles primario es la función. El lenguaje tiene sus orígenes en las observaciones de Haskell Curry y sus descendientes intelectuales.
En los años 1980 se constituyó un comité cuyo objetivo era crear un lenguaje funcional que reuniera las características de los múltiples lenguajes funcionales de la época, el más notable Miranda, y resolviera la confusión creada por la proliferación de los mismos.
El lenguaje evoluciona rápidamente y (ver más abajo) como los representantes actuales del estándar de facto. El último estándar oficial es: Haskell 2010, cuyas diferencias respecto al anterior estándar Haskell 98 son:
Nuevas características del lenguaje:
Características eliminadas del lenguaje:
fact (n+1) = (n+1) * fact n
.Las características más interesantes de Haskell incluyen el soporte para tipos de datos y funciones recursivas, listas, tuplas, guardas y encaje de patrones. La combinación de las mismas pueden resultar en algunas funciones casi triviales cuya versión en lenguajes imperativos pueden llegar a resultar extremadamente tediosas de programar. Haskell es, desde 2002, uno de los lenguajes funcionales sobre los que más se ha investigado. Se han desarrollado muchas variantes:
Para información más detallada, referirse al sitio oficial o a los enlaces al final de este artículo.