Haskell es un lenguaje de programación funcional cuyas características fundamentales son:
- Existencia de variables inmutables.
- El estado mutable solo se puede mediante monads.
- Pureza por default (los efectos secundarios es mediante monads).
- Evaluación perezosa (lazy): los resultados solo se calculan si es necesario.
- En Haskell todo es una expresión.
- Funciones de primera clase: las funciones pueden definirse en cualquier lugar; pasarse como argumentos y devolverse como valores.
- Implementaciones compiladas e interpretadas disponibles.
- Inferencia de tipos completa: las declaraciones de tipo son opcionales.
- Coincidencia de patrones (pattern marching) en estructuras de datos: son de primera clase.
- Polimorfismo paramétrico.
Con Haskell nos olvidamos de la declaración de tipos, pero si hay tipos y son:
- Bool.
- Char.
- String.
- Integer o Int.
- Float.
- Double.
- Num.
Veamos el clásico programa "Hola, mundo" en Haskell.
holamundo.hs
main = putStrLn "¡Hola, mundo en Haskell!"
Para poder compilarlo y ejecutarlo debemos tener Haskell instalado en nuestras máquinas: https://www.haskell.org/downloads/
Una vez instalado abrimos una terminal y tecleamos:
$ ghc --version
Ya podremos compilar nuestro programa:
$ ghc holamundo.hs
Nos creará un ejecutable:
$ holamundo.exe
Salida:
¡Hola, mundo en Haskell!
Si solo quieres ejecutar sin tener que compilar puedes usar ``runghc``:
$ runghc holamundo.hs
Hemos aprendido como compilar y ejecutar un programa en Haskell. Además de sus fundamentos.
Enlaces:
https://typeclasses.com/https://www.reddit.com/r/haskell/comments/10jw67n/please_explain_monads_to_me_like_im_12/
https://wiki.haskell.org/All_About_Monads
https://haskellbook.com/
https://www.haskell.org/
https://cabal.readthedocs.io/en/stable/
https://www.haskell.org/ghc/
https://docs.haskellstack.org/en/stable/
https://github.com/haskell/haskell-language-server
No hay comentarios:
Publicar un comentario