1.5 KiB
1.5 KiB
Haskell 8
- Les chaines de caractères sont des listes de caractères.
- Une liste a un seul type d'élément mais on peut rajouter des éléments en tête. Un tuple peut être constitué de variables de types différents, mais ne peut pas être agrandi.
- Les tuples sont intérésants si on souhaite manipuler un jeu de données «en bloc».
- (Un
ss'est transformé end).sorts'applique à une list et renvoie une liste contenant les mêmes éléments, mais dans l'ordre.fstprend en entrée un tuple, et renvoie le premier élément du tuple. sortfonctionne pour des listes dont le type d'éléments étend la classeOrd(donc pas tous).- Dans ce code,
ya dans le corps duletpour valeur3, le corps étant la partiey+4. - Cette expression correspond à la chaine de caractères
"dg"(une liste de deux éléments). - L'expression indiquée renvoie un booléen de type
Bool. sortest une fonction alors que:est un constructeur. Une application pratique est que l'on peut faire du pattern matching sur:mais pas sursort.map (*2) [1,4,7]applique la fonction multiplier par deux à la liste donnée, ce qui renvoie la liste[2,8,14].let addTwo=(+2) in addTwo 4oulet addTwo y = y+2 in addTwo 4.- Dans cette expression, le pattern est
(t,q)qui match n'importe quel tuple de 2 éléments (ou 2uplet ou paire). - Ces deux expression renvoient la même valeur, puisque le type des listes est défini de manière inductive,
a:_:_:_est une simplification syntaxique poura:(_:(_:_)).