• [^] # Re: Solution à base de types variants en ADA

    Posté par . En réponse à la dépêche Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 2.

    C'est sans doute une question d'habitude.

    Tout à fait ! Ce bon vieux Lisp a le trépas difficile, sinon ça m'est également plus facile de lire un code écrit comme on l'a pensé. Mais peut-être que, du point de néophytes dans le langage, sur-usiter d'opérateurs infixés laisse l'impression qu'on jargonne et mes réserves concernaient ce cas de figure : si un certain style est un frein à la propagation de ce paradigme, autant lisser la courbe d'apprentissage en en adoptant un autre. Ça va dans le même sens que ta remarque d'il y a quelques mois :

    « [...] je ne suis pas partisan du jargon employé fréquemment dans le monde de la programmation fonctionnel [...]»

    Quant aux règles de précédence, le compilateur interactif GHCi est d'une grande aide. Dès qu'il laisse passer quelque chose, il suffira de lui demander ce qu'il en connaît via les commandes :type <machin>, :info <machin> ou :kind <machin>.

    -- N.B. Il y a élision volontaire de certaines sorties pour aller directement à la fixité.
    Prelude> :info $
    infixr 0 $
    Prelude> :info .
    infixr 9 .
    Prelude> :info <$>
    infixl 4 <$>

    La précédence est accordée suivant l'ordre décroissant de fixité infix<TRUC><TRUC> indique si l'opérateur est liant vers la gauche (l) ou vers la droite (r).