• [^] # Re: Le futur te rattrape toujours

    Posté par . En réponse au journal Apple annonce Swift, son nouveau langage de programmation. Évalué à 5.

    Un exemple plus simple, et en haskell

    -- on défini un type récursivement, une expression est soit :
    data Expression = Somme Expression Expression -- une somme d'expression
     | Moins Expression -- l'inverse d'une expression
     | Valeur Int -- un scalaire
    -- là on a le filtrage de motif, la fonction eval est défini différemment suivant le constructeur qu'on lui donne en paramètre
    eval (Valeur v) = v
    eval (Moins e) = -(eval e)
    eval (Somme e1 e2) = eval e1 + eval e2

    Dans un langage genre C on ferait

    switch(e.constructeur) {
    case Valeur:
     return e.v;
    case Somme:
     return eval(e.op1) + eval(e.op2);
    .
    .
    .

    Please do not feed the trolls