Salut,
us(m) = map (/m) [0.0..(7-1)*m]
Le (/) ne prend que de types qui sont des instances de la classe Fractional (e.g. Double, Float). Comme tu as utilisé un / m, Haskell a inféré que m est forcement dans cette classe. Donc si dans une autre fonction tu passe un Int à us, il y aura un erreur de typage. Je crois que les fonctions fromIntegral ou realToFrac pourraient servir http://www.haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v%3A... Peut-être ça sera une bonne idée de faire us(m) = map (/mf) [0.0..(7-1)*m] where mf = fromInteger m forum ----- Il y a #haskell et #haskell.fr sur irc.freenode.net. La communauté Haskell a plus tendence a utiliser les listes de diffusion ou IRC que les forums (message boards?) ou Usenet. style ----- Je crois que c'est plus courant de faire us m = ... sans les parenthèses dans les paramètres Lorsque mes fonctions sont «externes», c'est à dire, pas cachées dans un 'let' ou un 'where', je préfère exprimer mes intentions explicitement avec une signature de type. Par exemple, us :: Int -> [Float] us m = ... Ou peut-être tu voulais une fonction plus generale us :: (Integral a, Fractional b) => a -> [b] us m = ... C'est pratique pour comprendre les erreurs de typage, et aussi comme source de documentation. -- Eric Kow http://www.loria.fr/~kow PGP Key ID: 08AC04F9 Merci de corriger mon français.