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.


--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

Entradas más populares de este blog

Programas en C #3 Tres números, el mayor, el menor y el del medio

Programas en Racket Programación Funcional #1

Programa en Haskell Tipos de datos pasadas como funciones # 3