Programa en Haskell Tipos de datos pasadas como funciones # 1
En esta lista de programas ahora abordaremos el lenguaje de programación llamado haskell el cual esta orientado a un paradigma de programación funcional donde la sintaxis y el código están más claros y es más intuitivo entenderlo.
Primer programa en Haskell que describe como se pasan los tipos a las funciones.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--Potencia | |
--pot n m = n ^ m | |
--pot calcula la m-ésima potencia de n | |
--Es una función de la potencia que es de orden superior por su tipo de dato puede devolver funciones | |
pot :: (Eq t, Num t, Num p) => p -> t -> p | |
pot n 0 = 1 | |
pot n m = (pot n (m-1)) * n | |
--Factorial | |
--fact n = n! | |
--fact calcula n factorial | |
fact :: (Eq p, Num p) => p -> p | |
fact 0 = 1 | |
fact n = (fact (n-1)) * n | |
--Potencia version 2 | |
pot2 :: (Eq t, Num t, Num p) => (p, t) -> p | |
--Me esta diciendo que es una pareja (p,t) | |
--pot 2 es una versión para calcular la potencia que no es de orden superior | |
pot2 (n,0) = 1 | |
pot2 (n,m) = (pot n (m-1)) + n | |
--potencia3 = pot 3 | |
--potencia3 5 ---> pot 3 5 | |
--potencia3 es una función que calcula las potencias de 3, recibe la potencia | |
--que desea calcular y devuelve un número | |
--Una función es de orden superior si recibe o devuelve funciones | |
--potencia = curry pot2 | |
--potencia :: (Eq t, Num t, Num c) => c -> t -> c | |
--Puedo pasar algunos parametros no son necesarios todos en la currificación | |
RETO DEL BLOG, PROPÓN UN PROGRAMA MEJORADO Y CON SUS RESPECTIVAS EXCEPCIONES QUE PODRÍA TENER
Te sirven mis contenidos y quieres ayudarme a crecer invitame un chicle
Quieres ganar dinero acortando enlaces entonces registrate en Adfly
Comentarios
Publicar un comentario