Haskell, programación funcional [Introdución]

Bueno, ahora veremos algo sobre programación funcional, otra forma de programar, que la verdad esta interesante. Antes que todo HasKell es un lenguaje de programación orientado a funciones, veremos como se instala sobre linux.

Que es la programación funcional?

Lo estilos típicos  de programación son:

Orientado a Objetos: Crear instancias de clase, llamada a métodos públicos, lo típico que enseñan en las escuelas, y probablemente lo mas popular (KumbiaPHP, RubyOnRails, CakePHP, Java, PHP, Ruby, etc.)

Orientado a eventos: Aquí tenemos a Visual Basic, y cualquier alternativa.

Con los dos ejemplos anteriores, seguramente no tendrás problemas, pero ahora que es la prog. funcional.

Sin entrar a fondo, es la programación meramente con funciones, el juego es hacer todo con funciones, y olvidarnos de crear variables a diestra y siniestra, tampoco existen las clases por lo tanto ni las instancias. no te preocupes hay algo similar.

La forma de ejecutar (al menos por ahora), es cargar todo el archivo y mandar llamar directamente las funciones pasándole los parámetros desde consola, es decir nuestro código puede tener N funciones, y solo ejecutamos la que necesitamos.

Descargamos el instalador de acuerdo a nuestro OS desde https://www.haskell.org/downloads

En mi caso, es linux, asi que selecciono Ubuntu,  copio, pego y ejecuto

$ sudo apt-get install haskell-platform

Y enseguida nos instalara lo necesario.

Para escribir el codigo utilizo Visual Studio Code, instalando la siguiente extención

 

Y ahora estamos listos para iniciar a programar con Haskell, para lo cual creare un archivo llamado factorial.hs con el siguiente código:

fact::Int->Int
fact 0=1
fact n=n*fact(n-1)

Para ejecutar abrimos la consola, situándonos el el directorio donde se encuentra nuestro archivo factorial.hs

y escribimos (linea x linea):
govani@gvn:~/Documentos$ ghci
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
Prelude> :load factorial.hs 
[1 of 1] Compiling Main ( haskell.hs, interpreted )
Ok, modules loaded: Main.
*Main> fact 4
24
*Main> fact 3
6
*Main>

Repasemos paso a paso:

ghci: es el entorno para evaluar las expresiones desde consola, así como para ejecutar nuestros programas.

dentro de ghci usamos :load y especificamos el archivo (con la ruta en caso de ser necesario), una vez cargado el archivo podemos probar nuestro programa. en este ejemplo solo tenemos una función llamada fact. por lo que solo escribimos el nombre de la función y el parámetro, separado por un espacio, y con ello estaremos evaluando nuestro código.

para salir de *Main> ejecutamos :quit

Leave a Reply

Your email address will not be published. Required fields are marked *