Entradas

Mostrando entradas de marzo, 2026

Programación funcional en Haskell

Imagen
Uno de los puntos fuertes de Haskell es la programación funcional pura . La cual se centra en funciones matemáticas puras, sin efectos secundarios , y en transformar datos de manera predecible. Donde cada función es como una receta que recibe ingredientes (datos de entrada) y devuelve un resultado (salida). Donde las funciones no alteran cosas externas (osea, sin efectos secundarios), solo trabajan con lo que reciben. Donde los datos no cambian , se transforman en nuevos resultados . Donde no se evalúa una expresión hasta que su resultado sea estrictamente necesario , permitiendo el manejo de estructuras de datos infinitas. Con Haskell es como si trabajaras con fórmulas matemáticas, cada función es una operación que siempre da el mismo resultado con los mismos datos. Incluso permitiendo que las funciones tomen a otras funciones como argumentos, o simplemente devolviendo éstas. Es como hacer un jugo de naranja. Tomas la naranja y la exprimes, y así obtienes su j...

Tipos de datos en Haskell

Imagen
Como hemos mencionado, Haskell es un lenguaje de programación funcional de tipado estático . ¿Qué quiere decir esto? En Haskell es necesario especificar qué tipos de datos vamos a emplear en nuestros programas.  Puesto que al compilar el programa (sí, Haskell se compila) se evaluarán los tipos para saber si son enteros, booleanos o cadenas de caracteres. Además al tener inferencia de tipos no tenemos que especificar, por ejemplo, que un número es un número. Comprobemos esto. Abrimos una terminal y tecleamos: $ ghci Esto abrirá el REPL de Haskell . Usemos el comando :type o el abreviado :t para ver los tipos de datos. ghci > : type "Esto es una cadena" "Esto es una cadena" :: String ghci > : type 33 33 :: Num a => a ghci > : type True True :: Bool ghci > :t 'X' 'X' :: Char ghci > :t 23 + 32 23 + 32 :: Num a => a En este ejemplo vemos los tipos: Char , String , ...