Haskell es uno de esos lenguajes de programación que obligan al programador Java (o de cualquier otro lenguaje) a cambiar su manera de crear código y no es para menos, la programación funcional es parecida a la matemática. Con Haskell creamos funciones parecidas a las verdaderas funciones matemáticas.
Los tipos de programación se pueden dividir en:
1. Programación Imperativa: Donde se describen, paso a paso, las instrucciones necesarias para resolver el problema.
2. Programación Declarativa: Donde se describe el problema que tenemos que solucionar pero no el cómo hacerlo.
En este último entran lenguajes como Haskell, Erlang y/o Elixir. Lenguajes de paradigma funcional. Donde se definen funciones similares a las funciones matemáticas.
Ejemplo. Calcular el factorial de un número.
factorial 0 = 1
factorial n = n * factorial(n - 1)
factorial.hs
factorial :: Int -> Int factorial 0 = 1 factorial n = n * factorial(n - 1)
Ejecutar:
$ ghci > :cd RUTA_SCRIPTS > :l factorial.hs > factorial 5 120
print_add.hs
add :: Integer -> Integer -> Integer add x y = x+y main :: IO() main = do let a = 5 let b = 7 let resultado = add a b print("Resultado(" ++ show a ++ ", " ++ show b ++"): "++ show resultado) {- Ejecutar: $ ghc print_add.hs $ ./print_add -}
En éste ejemplo podemos notar que se ha definido una función que toma dos números y realiza la suma.
Ejemplo. Incrementar el valor de un número.
incrementar :: (Num a)=> a -> a incrementar n = n + 1 main = do let num = 3 let incrementa = incrementar(num) print(num) print(incrementa)
La programación funcional y los lenguajes como Haskell pueden sorprender a más de un programador que use lenguajes como Java y/o C#. En próximos post haremos más ejemplos.
Enlaces:
https://serokell.io/blog/10-reasons-to-use-haskellhttps://github.com/Gabriel439/post-rfc/blob/main/sotu.md
http://jotajotavm.com/Haskell-21-Ejercicio-Factorial-en-Haskell.html
Que buen blog!!!
ResponderEliminar