Introducción

En este módulo, aprenderemos sobre las variables y funciones en Haskell. A diferencia de otros lenguajes de programación, Haskell es un lenguaje puramente funcional, lo que significa que las variables son inmutables y las funciones son ciudadanos de primera clase. Esto tiene implicaciones importantes en cómo se escribe y se razona sobre el código en Haskell.

Variables

Declaración de Variables

En Haskell, las variables se declaran utilizando la palabra clave let o directamente en una definición de función. Las variables en Haskell son inmutables, lo que significa que una vez que se les asigna un valor, no pueden cambiar.

-- Usando let en GHCi
let x = 5

-- En una definición de función
x = 5

Ejemplo Práctico

-- Definición de una variable
piValue = 3.14159

-- Uso de la variable en una función
areaOfCircle radius = piValue * radius * radius

En este ejemplo, piValue es una variable que almacena el valor de π, y areaOfCircle es una función que calcula el área de un círculo dado su radio.

Funciones

Definición de Funciones

Las funciones en Haskell se definen utilizando el símbolo =. La sintaxis básica para definir una función es:

functionName :: TipoDeEntrada -> TipoDeSalida
functionName parametros = cuerpoDeLaFuncion

Ejemplo Práctico

-- Definición de una función que suma dos números
add :: Int -> Int -> Int
add x y = x + y

-- Uso de la función
result = add 3 5  -- result será 8

Funciones Anónimas (Lambdas)

Las funciones anónimas, también conocidas como lambdas, se definen utilizando la sintaxis \ para los parámetros y -> para el cuerpo de la función.

-- Definición de una función lambda que suma dos números
addLambda = \x y -> x + y

-- Uso de la función lambda
result = addLambda 3 5  -- result será 8

Ejercicio Práctico

  1. Definir una función que calcule el cuadrado de un número:
square :: Int -> Int
square x = x * x
  1. Definir una función que calcule el área de un rectángulo:
areaOfRectangle :: Int -> Int -> Int
areaOfRectangle length width = length * width

Soluciones

  1. Función para calcular el cuadrado de un número:
square :: Int -> Int
square x = x * x
  1. Función para calcular el área de un rectángulo:
areaOfRectangle :: Int -> Int -> Int
areaOfRectangle length width = length * width

Resumen

En esta sección, hemos aprendido sobre las variables y funciones en Haskell. Hemos visto cómo declarar variables, definir funciones y utilizar funciones anónimas. También hemos practicado con algunos ejemplos y ejercicios prácticos. En el próximo módulo, exploraremos los tipos de datos básicos en Haskell.


Errores Comunes y Consejos:

  1. Error: Olvidar la inmutabilidad de las variables.

    • Consejo: Recuerda que una vez que una variable se ha asignado, no puede cambiar. Si necesitas un valor diferente, define una nueva variable.
  2. Error: No especificar los tipos de las funciones.

    • Consejo: Aunque Haskell puede inferir los tipos, es una buena práctica especificarlos explícitamente para mejorar la legibilidad y el mantenimiento del código.
  3. Error: Confundir la sintaxis de las funciones anónimas.

    • Consejo: Practica la sintaxis de las lambdas (\x y -> x + y) para familiarizarte con su uso.

Con estos conceptos claros, estarás bien preparado para avanzar al siguiente tema sobre tipos de datos básicos en Haskell.

© Copyright 2024. Todos los derechos reservados