• # Dernier cas

    Posté par . En réponse au journal Haskell -- Évaluation paresseuse. Évalué à 2.

    Je n’arrive pas à reproduire ce que tu décris. J’ai fait mes tests dans l’interpréteur ghci :

    Prelude> let g s l = ((map (/s) l),sum l)
    Prelude> let f l = let (res,s) = g s l in res
    Prelude> f [1,2]
    *** Exception: <<loop>>
    Prelude> let r = f [1,2]
    Prelude> l
    *** Exception: <<loop>>

    Par contre :

    Prelude> let f l = let (res,s) = g (sum l) l in res
    Prelude> f [1,2]
    [0.3333333333333333,0.6666666666666666]
    Prelude>

    Je me demande si ce n’est pas ton implémentation de g qui ferait que ça marche ?