Haskell - Aperçu

Haskell est un langage de programmation fonctionnel spécialement conçu pour gérer les applications de calcul symbolique et de traitement de liste. La programmation fonctionnelle est basée sur des fonctions mathématiques. Outre Haskell, certains des autres langages populaires qui suivent le paradigme de la programmation fonctionnelle incluent: Lisp, Python, Erlang, Racket, F #, Clojure, etc.

Dans conventional programing, les instructions sont considérées comme un ensemble de déclarations dans une syntaxe ou un format spécifique, mais dans le cas de functional programing, tout le calcul est considéré comme une combinaison de fonctions mathématiques séparées.

Devenir fonctionnel avec Haskell

Haskell est un langage purement fonctionnel largement utilisé. Ici, nous avons énuméré quelques points qui rendent ce langage si spécial par rapport aux autres langages de programmation conventionnels tels que Java, C, C ++, PHP, etc.

  • Functional Language- En langage de programmation conventionnel, nous donnons au compilateur une série de tâches qui ne sont rien d'autre que de dire à votre ordinateur "quoi faire" et "comment faire?" Mais à Haskell, nous dirons à notre ordinateur "ce que c'est?"

  • Laziness- Haskell est une langue paresseuse. Parlazy, nous voulons dire que Haskell n'évaluera aucune expression sans aucune raison. Lorsque le moteur d'évaluation trouve qu'une expression doit être évaluée, il crée unthunk data structure pour collecter toutes les informations requises pour cette évaluation spécifique et un pointeur vers cela thunk data structure. Le moteur d'évaluation ne commencera à fonctionner que lorsqu'il sera nécessaire d'évaluer cette expression spécifique.

  • Modularity- Une application Haskell n'est rien d'autre qu'une série de fonctions. On peut dire qu'une application Haskell est une collection de nombreuses petites applications Haskell.

  • Statically Typed- Dans le langage de programmation conventionnel, nous devons définir une série de variables avec leur type. En revanche, Haskell est un langage strictement typé. Par le terme de langage Strictement Typé, nous entendons que le compilateur Haskell est suffisamment intelligent pour déterminer le type de la variable déclarée, donc nous n'avons pas besoin de mentionner explicitement le type de la variable utilisée.

  • Maintainability - Les applications Haskell sont modulaires et, par conséquent, leur maintenance est très simple et économique.

Les programmes fonctionnels sont plus simultanés et suivent un parallélisme d'exécution pour fournir des performances plus précises et meilleures. Haskell ne fait pas exception; il a été développé de manière à gérermultithreading effectivement.

Bonjour le monde

C'est un exemple simple pour démontrer le dynamisme d'Haskell. Jetez un œil au code suivant. Tout ce dont nous avons besoin est d'une seule ligne pour imprimer "Hello Word" sur la console.

main = putStrLn "Hello World"

Une fois que le compilateur Haskell rencontre le morceau de code ci-dessus, il produit rapidement la sortie suivante -

Hello World

Nous fournirons de nombreux exemples tout au long de ce tutoriel pour mettre en valeur la puissance et la simplicité d'Haskell.