Introduction au langage Haskell

Table des matières

Voyons un introduction au langage de programmation Haskell, il s'agit d'un Langage fonctionnel. Dans ce type de langage les fonctions vont faire un calcul et elles vont retourner quelque chose, ça n'a pas d'effet secondaire. De plus, les variables ne peuvent prendre qu'une seule valeur, c'est-à-dire que si nous avons une variable appelée n à laquelle nous affectons la valeur 10, n vaudra 10, nous ne pouvons pas la faire devenir 14, ou 3.

Haskell est un langage à typage statiqueUn autre exemple de langage comme celui-ci est Java, cela signifie que lorsque nous compilons un code, le compilateur saura quel type de données appartient à une partie de la mémoire (entier, chaîne, caractère, booléen, etc.), contrairement à ce qui se passe dans langages dynamiques, tels que Python ou Ruby.

Ce langage fait des évaluations paresseuses, il ne fera pas de calcul tant qu'une valeur n'est pas complètement nécessaire, et il empêchera également que cette évaluation soit répétée si nous avons besoin du calcul plus tard. Pour les fonctions exponentielles, c'est quelque chose d'intéressant, car cela aidera à réduire le temps d'exécution.

Après une introduction à certaines des caractéristiques du langage, nous allons commencer par l'action, le tutoriel sera complètement pratique, la première chose dont nous aurons besoin est d'installer Haskell sur notre système, pour ce tutoriel Ubuntu sera utilisé, donc je vais exécuter la commande suivante dans le terminal :

 sudo apt-get install haskell-platform
Si vous utilisez un autre système d'exploitation, alors nous vous laissons un bouton vers la page officielle Haskell, où vous trouverez comment procéder à l'installation, que ce soit sur Windows, Mac ou une autre distribution Linux :

TÉLÉCHARGER HASKELL

Commençons par la pratique, nous allons diviser le tutoriel en exemples, en commençant par le plus simple.

Exemple 1
Nous allons commencer par lancer la console Haskell, pour cela dans un terminal nous écrirons la commande suivante :

 ghci
Comme vous pouvez le voir, nous chargeons :

La promp est Prelude, on peut la changer, dans ce cas on va la mettre en hkl, pour cela on va exécuter :

 : définir l'invite "hskl>"
On voit comment ça a changé :

Pour finir avec le premier exemple, nous allons voir comment faire quelques opérations dans cette console, ci-dessous se trouve la capture des exemples, on peut voir une somme, une division (on voit que ça nous montre des décimales, dans d'autres langages ​il aurait renvoyé la partie entière ), et une opération avec des parenthèses, pour apprécier sa fonction.

NoterSi nous voulons quitter la console Haskell, nous écrivons :

 : quelle
Et nous donnons entrer.

Exemple 2
Dans l'exemple suivant, nous allons travailler avec des types de données booléens, voir l'image suivante pour comprendre leur utilisation :

Cela ne nécessite pas d'explications supplémentaires, nous utilisons et (&&) et ou (||), en plus de la négation (ne pas). Pour le moment, tout est facile, comme on peut le voir.

Exemple 3
On peut comparer des chaînes, des nombres, comme on le fait dans d'autres langages, voyons comment ça marche :

La comparaison entre différents types nous renvoie une erreur, comme prévu.

Exemple 4
Dans cet exemple, nous allons voir les fonctions que nous avons dans Haskell, que nous utiliserons probablement souvent :

Nous expliquons les fonctions vues dans la capture d'écran précédente :

  • succ x: Renvoie le successeur de x, si x vaut 3, renvoie 4.
  • min x y: renvoie le nombre minimum entre x et y, si y est 3 et x est 2, renvoie x.
  • max x y: renvoie le maximum de x et y, dans l'exemple de 3 et 2, il renvoie 3.

Exemple 5
Dans cet exemple, nous allons créer une "fonction":

Nous voyons que nous avons créé la fonction exp, ce qui est le carré d'un nombre, et une fonction appelée double, qui renverra deux fois le nombre que nous lui transmettons, vous pouvez également voir que vous pouvez combiner ce qu'une fonction renvoie avec d'autres opérations telles que l'addition.

Exemple 6
Nous allons créer notre propre fonction maximum, mais pour 3 nombres, et nous allons l'utiliser, en dessous de la capture :

Exemple 7
Nous allons voir d'autres fonctions avec lesquelles nous pouvons travailler en Haskell, elles sont simples, nous allons les appliquer à des listes.

On voit comment init ce qu'il fait est de retourner la liste sans le dernier élément, queue il fait le contraire, il renvoie la liste sans le premier élément. Si nous voyons diriger renvoie le premier élément de la liste et bien sûr dernier renvoie le dernier élément. Et les deux dernières fonctions, longueur nous donne la longueur de la liste et sens inverse Il nous le rend retourné. Il y a plus de fonctions, mais ce n'est pas l'objectif du tutoriel de toutes les voir, juste pour donner une approximation afin que vous puissiez commencer à travailler avec Haskell.

Exemple 8
Nous allons voir le dernier exemple qui va calculer la factorielle d'un nombre, qui va essayer de créer un fichier, le compiler et l'exécuter, nous allons créer un fichier appelé test.hs et nous allons y ajouter le code suivant :

 fac n = (si n == 0 alors 1 sinon n * fac (n-1)) main = print (fac 3)
Pour compiler, nous utilisons la ligne suivante :
 ghc -o test test.hs
Et pour l'exécuter on met :
 ./test
Voici la sortie :

Eh bien, c'est le tutoriel sur le Langage de programmation HaskellSi vous avez déjà de l'expérience en programmation rapide, vous vous y habituerez, bien que si vous n'êtes pas habitué aux langages fonctionnels au début, sa programmation peut être un peu étrange.

Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave