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.718281828459045Explicació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 = FalseExplicació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)
