0% encontró este documento útil (0 votos)
30 vistas5 páginas

Definición de Funciones en Haskell

jjoijioj

Cargado por

Alex Marin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas5 páginas

Definición de Funciones en Haskell

jjoijioj

Cargado por

Alex Marin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Definición de funciones propias

La base de la programación funcional es la definición de funciones propias.


La definición de función tiene dos partes, la derecha y la izquierda, separadas con el
signo igual.
add x y = x + y
• La parte izquierda consta de un nombre de función y de sus parámetros. Los
parámetros se escriben como cadenas de caracteres empezando con letra
minúscula, generalmente solo en minúsculas.
• En la parte derecha está el resultado de la evaluación de la función después de
un paso.
En primer lugar, consideremos la siguiente definición de función que suma sus dos
argumentos:

add :: Integer -> Integer -> Integer


add x y = x + y

Este es un ejemplo de función parcializada (curried). (El origen del nombre curry
proviene de la persona que popularizó el uso de la parcialización: Haskell Curry. Los
tipos indican el tipo de valor que recibe como parámetro y solo el ultimo valor es el que
indica el tipo de valor que retorna como resultado la función
Las declaraciones de tipo se usan para indicar el tipo de un valor o de una función. El
símbolo :: se traduce como “pertenece al tipo”.
En Haskell la aplicación de parámetros a una función se realiza mediante la mera
yustapoxición de estos , es decir se coloca uno tras otro separados por un espacio
Asi pues en el ejemplo anterior podemos decir que recibe 2 parametros de tipo Integer
(marcados en verde) y retorna como salida un Integer (marcado con azul)
Al intentar calcular el tipo de una función, lo primero que tenemos que hacer es mirar
las funciones que se usan dentro de su definición y asegurarnos de saber de qué tipo
son esas funciones. Luego las preguntas importantes son:
1. ¿Cuántos parámetros recibe? Esto ayuda a ordenarnos, para saber cuántos
huecos tenemos que llenar, que es esa cantidad + 1, por el tipo de retorno.
2. ¿De qué tipo son esos parámetros? Esto se deduce en base al uso de los
mismos en la definición.
3. ¿De qué tipo es lo que retorna? Esto se deduce en base a lo que retorna la
función principal que es la “de más afuera” o menor precedencia.
La llamada a la función se realiza poniendo el nombre de la función y los valores para
los que queremos aplicar dicha función , aplicando el ejemplo :
add 7 13
Dará como resultado 20.

Práctica
1.- Elige un compilador en linea de Haskell para trabajar ( onlineGBD, doodle,
tutorialspoint, replit, entre otros), recuerda hacer captura del resultado de la ejecución
2.- Captura el código indicado a continuación

3. Genera un nuevo programa y captura la siguiente función


4. El programa principal quedará de la siguiente forma

5. Modifica el programa principal de la siguiente manera

6. Por que genera error?

7. Captura la siguiente función en el mismo programa


[Link] realiza la siguiente modificación :

9. Agrega al final las lineas que te permite imprimir en una sola linea

10. Cual es la diferencia entre readLn y getLine ?


11. Cual es la diferencia entre putStrLn y print?

12.- Captura el siguiente programa


13. Realiza un programa que indique si un numero es par o impar mediante una función
14. Realiza un programa que genere el sucesor, el antecesor y el valor absoluto de un
numero dado, usando funciones.

También podría gustarte