En Scheme, faire une fonction average (moyenne) est simple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
(define (average l)
  (/ (sum l) (length l)))
Mais je suis complètement incapable de le faire en Haskell, je me fais kicker d'un bord pis de l'autre par le système de typage:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Prelude> let avg l = sum l / length l
 
<interactive>:1:12:
    No instance for (Fractional Int)
      arising from use of `/' at <interactive>:1:12-27
    Possible fix: add an instance declaration for (Fractional Int)
    In the expression: (sum l) / (length l)
    In the definition of `avg': avg l = (sum l) / (length l)
Prelude>
Un peu d'aide?