En Haskell, los tipos de datos son fundamentales para la programación, ya que permiten definir y manipular datos de manera segura y eficiente. En esta sección, exploraremos los tipos de datos básicos que Haskell ofrece, cómo declararlos y utilizarlos en tus programas.
Contenido
Tipos Numéricos
Haskell soporta varios tipos numéricos, cada uno adecuado para diferentes necesidades:
- Int: Enteros de tamaño fijo.
- Integer: Enteros de tamaño arbitrario.
- Float: Números de punto flotante de precisión simple.
- Double: Números de punto flotante de doble precisión.
Ejemplo de Uso
-- Declaración de variables numéricas myInt :: Int myInt = 42 myInteger :: Integer myInteger = 12345678901234567890 myFloat :: Float myFloat = 3.14 myDouble :: Double myDouble = 2.718281828459045
Explicación
myIntes un entero de tamaño fijo.myIntegeres un entero de tamaño arbitrario, útil para cálculos que requieren precisión más allá de los límites deInt.myFloatymyDoubleson números de punto flotante, conDoubleofreciendo mayor precisión.
Booleanos
El tipo Bool en Haskell representa valores booleanos, que pueden ser True o False.
Ejemplo de Uso
-- Declaración de variables booleanas isSunny :: Bool isSunny = True isRaining :: Bool isRaining = False
Explicación
isSunnyyisRainingson variables booleanas que pueden serTrueoFalse.
Caracteres y Cadenas
Haskell utiliza el tipo Char para representar caracteres individuales y el tipo [Char] o String para representar cadenas de texto.
Ejemplo de Uso
-- Declaración de caracteres y cadenas myChar :: Char myChar = 'A' myString :: String myString = "Hello, Haskell!"
Explicación
myChares un carácter individual.myStringes una cadena de texto, que en Haskell es una lista de caracteres ([Char]).
Tuplas
Las tuplas son estructuras de datos que pueden contener múltiples valores de diferentes tipos. Se definen utilizando paréntesis y comas.
Ejemplo de Uso
Explicación
myTuplees una tupla que contiene un entero, una cadena y un booleano.
Listas
Las listas en Haskell son colecciones de elementos del mismo tipo. Se definen utilizando corchetes y comas.
Ejemplo de Uso
-- Declaración de listas myList :: [Int] myList = [1, 2, 3, 4, 5] myStringList :: [String] myStringList = ["Hello", "World"]
Explicación
myListes una lista de enteros.myStringListes una lista de cadenas de texto.
Ejercicios Prácticos
Ejercicio 1: Declaración de Variables
Declara una variable de cada tipo básico que hemos visto (Int, Integer, Float, Double, Bool, Char, String, Tupla, Lista).
Ejercicio 2: Operaciones Básicas
Escribe una función que tome dos enteros y devuelva su suma, resta, multiplicación y división.
Ejercicio 3: Manipulación de Listas
Escribe una función que tome una lista de enteros y devuelva la lista con cada elemento incrementado en 1.
Soluciones
Solución Ejercicio 1
-- Declaración de variables myInt :: Int myInt = 10 myInteger :: Integer myInteger = 1000000000000 myFloat :: Float myFloat = 3.14 myDouble :: Double myDouble = 2.71828 myBool :: Bool myBool = True myChar :: Char myChar = 'H' myString :: String myString = "Haskell" myTuple :: (Int, String, Bool) myTuple = (42, "Answer", True) myList :: [Int] myList = [1, 2, 3, 4, 5]
Solución Ejercicio 2
-- Operaciones básicas basicOperations :: Int -> Int -> (Int, Int, Int, Float) basicOperations x y = (x + y, x - y, x * y, fromIntegral x / fromIntegral y)
Solución Ejercicio 3
-- Incrementar elementos de una lista incrementList :: [Int] -> [Int] incrementList xs = [x + 1 | x <- xs]
Conclusión
En esta sección, hemos cubierto los tipos de datos básicos en Haskell, incluyendo tipos numéricos, booleanos, caracteres, cadenas, tuplas y listas. Estos tipos son fundamentales para cualquier programa en Haskell y proporcionan una base sólida para construir aplicaciones más complejas. En la próxima sección, exploraremos cómo utilizar variables y funciones en Haskell.
Curso de Programación en Haskell
Módulo 1: Introducción a Haskell
- ¿Qué es Haskell?
- Configuración del Entorno de Haskell
- Sintaxis Básica y Hola Mundo
- Haskell REPL (GHCi)
