En este primer tutorial, conoceremos los principales beneficios de la programción funcional pura y un poco de la sintaxis básica de Haskell. ## Sintaxis básica de Haskell ### "Hello, World!" En este punto, no debería de ser problema entender que un "Hello, World!" puede ser tan simple como: ``` active haskell main = putStrLn "Hello, World!" ``` ### "where" Algo muy usado en Haskell para evitar definir muchas funciones auxiliares por todos lados es el uso del `where`. A continuación, usaremos `where`: ``` active haskell binOpApp binOp = op main = do putStrLn (show (binOpApp add 1 2)) putStrLn (show (binOpApp sub 1 2)) where add = (+) sub = (-) ``` ### "let .. in" Una notación alternativa es el uso de ***let .. in***: ``` active haskell binOpApp binOp = binOp main = let add = (+) sub = (-) in do putStrLn (show (binOpApp add 1 2)) putStrLn (show (binOpApp sub 1 2)) ``` Sin duda, la sintaxis de Haskell es elegante. Haskell tiene las fortalezas de un lenguaje fuertemente tipado y la claridad de algunos lenguajes dinámicos. ## Ejercicios y soluciones - [Ejercicios](https://www.fpcomplete.com/user/XookDo/introduccion-a-la-programacion-funcional/parte-1/ejercicios) - [Soluciones](https://www.fpcomplete.com/user/XookDo/introduccion-a-la-programacion-funcional/parte-1/soluciones) # Segunda parte Cuando te sientas listo, continua con [la segunda parte](https://www.fpcomplete.com/user/XookDo/introduccion-a-la-programacion-funcional/parte-2/tutorial).