• [^] # Re: goto return cave

    Posté par . En réponse au journal Is return the new goto ?. Évalué à 4. Dernière modification le 28 janvier 2024 à 09:45.

    Et le coup de l'absence de parenthèse ça met plus apparent / facile à exploiter un certain fait mathématique : on peut donner à manger une partie seulement une partie des paramètre et obtenir une autre fonction mathématique.

    L'exemple classique c'est l'addition. On peut faire une fonction qui ajoute 5 à un nombre comme ça :

    let ajoutecinq = add 5

    "ajoutecinq 10" s'évalue en "15". Ça illustre une relation entre les fonctions avec plusieurs paramètres et les fonctions qui en prennent un seul et qui retourne ... Une fonction qui en prendra un autre, jusqu'a l'évaluation en une valeur non fonctionnelle. On peut en fait carrément se passer de la notion de fonction à plusieurs paramètres. Et c'est ce qu'illustre l'absence de parenthèse. C'est très exactement ce qui se passe quand tu regardes le type d'une fonction en Haskell, pas de parentheses mais des flèches partout entre les "paramètres".

    Et si tu veux quand même des parethèses, tu utilises des tuples. Les tuples sont des types (types produit dans le jargon), ils s'écrivent généralement avec des parenthèses. Tu peux donc faire une fonction qui prend les paramètres entre parenthèses... Mais qui n'a toujours qu'un seul paramètre, une valeur de type n-uplet.