Haskell - Descripción general

Haskell es un lenguaje de programación funcional que ha sido especialmente diseñado para manejar aplicaciones de procesamiento de listas y computación simbólica. La programación funcional se basa en funciones matemáticas. Además de Haskell, algunos de los otros lenguajes populares que siguen el paradigma de programación funcional incluyen: Lisp, Python, Erlang, Racket, F #, Clojure, etc.

En conventional programing, las instrucciones se toman como un conjunto de declaraciones en una sintaxis o formato específico, pero en el caso de functional programing, todo el cálculo se considera una combinación de funciones matemáticas independientes.

Volverse funcional con Haskell

Haskell es un lenguaje puramente funcional ampliamente utilizado. Aquí, hemos enumerado algunos puntos que hacen que este lenguaje sea tan especial sobre otros lenguajes de programación convencionales como Java, C, C ++, PHP, etc.

  • Functional Language- En el lenguaje de programación convencional, instruimos al compilador una serie de tareas que no son más que decirle a su computadora "¿qué hacer" y "cómo hacer?" Pero en Haskell le diremos a nuestro ordenador "¿qué es?"

  • Laziness- Haskell es un idioma vago. Porlazy, queremos decir que Haskell no evaluará ninguna expresión sin ningún motivo. Cuando el motor de evaluación encuentra que una expresión necesita ser evaluada, crea unathunk data structure para recopilar toda la información requerida para esa evaluación específica y un puntero a esa thunk data structure. El motor de evaluación comenzará a funcionar solo cuando sea necesario para evaluar esa expresión específica.

  • Modularity- Una aplicación Haskell no es más que una serie de funciones. Podemos decir que una aplicación Haskell es una colección de numerosas aplicaciones pequeñas de Haskell.

  • Statically Typed- En el lenguaje de programación convencional, necesitamos definir una serie de variables junto con su tipo. Por el contrario, Haskell es un lenguaje estrictamente escrito. Con el término lenguaje estrictamente tipificado, nos referimos a que el compilador Haskell es lo suficientemente inteligente como para averiguar el tipo de variable declarada, por lo que no necesitamos mencionar explícitamente el tipo de variable utilizada.

  • Maintainability - Las aplicaciones de Haskell son modulares y, por lo tanto, es muy fácil y rentable mantenerlas.

Los programas funcionales son más concurrentes y siguen el paralelismo en la ejecución para proporcionar un rendimiento más preciso y mejor. Haskell no es una excepción; ha sido desarrollado de una manera para manejarmultithreading efectivamente.

Hola Mundo

Es un ejemplo sencillo para demostrar el dinamismo de Haskell. Eche un vistazo al siguiente código. Todo lo que necesitamos es solo una línea para imprimir "Hola palabra" en la consola.

main = putStrLn "Hello World"

Una vez que el compilador de Haskell encuentra el fragmento de código anterior, rápidamente produce el siguiente resultado:

Hello World

Proporcionaremos muchos ejemplos a lo largo de este tutorial para mostrar el poder y la simplicidad de Haskell.