Haskell es un lenguaje funcional puro, no estricto y fuertemente tipificado.
programa consiste en definiciones de funciones.
Los principales tipos de datos b´asicos predefinidos en Haskell son: Char, Int, Integer ,Float, Double y Bool.
Sintaxis
| TIPO | SYNTAXIS | EJEMPLO | ||
| Comentarios | Para realizar comentarios de una linea se utilizan dos guiones consecutivos"--", así se marca que toda la línea será de comentario y para comentarios de mas de una linea se utiliza {- ... -} | -- Esta línea es un comentario {- Esto tambien es un comentario -} |
||
| Operaciónes | Es posible escribir varias expresiones matemáticas directamente en ghci y obtener un resultado. Prelude | Prelude> 3 * 5 15 Prelude> 4 ^ 2 - 1 15 |
||
| Cadenas | Las cadenas van entre "comillas dobles." Puede concatenarlas con ++ | Prelude> " Hello " Prelude> "Hello" ++ ", Haskell" "Hello, Haskell" |
||
| Numeros |
|
|
||
| Listas y tuplas |
|
**[1,2,3] **"A,B,C" |
Simbolos
Aritmeticos
| + | Suma | |
| - | resta | |
| * | Multiplicación | |
| / | División | |
| abs | Valor absoluto del argumento | |
| ^ | Exponencial | |
| signum | signo | |
| max | Maximo de sus argumentos | |
| min | Minimos de sus argumentos | |
| sqrt | raiz cuadrada del argumento no negativo | |
| mod | modulo |
Relacionales
| == | Igual que | |
| > | Mayor que | |
| >= | Mayor igual que | |
| < | Menor que | |
| <= | Menor igual que | |
| ≠ | distinto de |
Manipular listas
| : | insercion de listas | |
| ++ | concatenacion de listas |
Funciones booleanas
| && | Devuelve #f tan pronto uno de sus argumentos es falso | |
| || | Devuelve #t tan pronto uno de sus argumentos es verdadero | |
| not | Negación de un valo booleano |
Palabras reservadas
| case | |
| where | |
| of | |
| then | |
| else |
Esqueleto de un programa en Haskell
module Main where
addition a b = a + b
main :: IO ()
main = do let z = addition 5 3
putStrLn $ "The result is: " ++ show z
Aplicación para ejecutar y editar codigo Haskell
--GHCi---
. Si quieres aprender Haskell o programar de forma cómoda, la solución más habitual es GHCi, un entorno de desarrollo interactivo y listo para usar se puede obtener desde Haskell Plataform
Una vez completada la instalación, deberías poder iniciar el entorno de desarrollo interactivo cuando lo desees con el comando “ghci” desde la línea de comandos de tu sistema:
OTROS
Paradigma al que pertenece
Haskell es un lenguaje Funcional, no estricto, modular, fuertemente tipificado
Programa en Haskell
Este programa recibe un numero entero y devuelve el factorial del mismo
fact::Int->Int
fact 0=1
fact n=n*fact(n-1)