Re: [Haskell-fr] inférence

david48 dav.vire+haskell at gmail.com
Mon Sep 10 07:11:54 EDT 2007


On 9/10/07, Dupont Corentin <cdupont at sii.fr> wrote:
> Salut!
> J'ai besoin d'un peu d'aide...
> Je débute en haskell. J'essai d'écrire un petit programme qui implémente les
> "polynômes interpolateurs de Lagrange".
>
> Mais ma question est plus générale, c'est que j'ai souvent du mal avec le
> moteur d'inférence de Haskell.
> En effet, un coup mon code compile. Ensuite je fait une petite modif sur une
> ligne et ça ne compile plus en me levant une erreur sur une partie
> (apparemment) complètement différente du code!!

Ca arrive souvent quand on laisse Haskell deviner tout seul le type
des fonctions.
Une solution tout simple consiste à renseigner le type des fonctions,
de telle qu'haskell signale de suite quand une signature de fonction
ne correspond pas avec le code qu'il voit.
Sans la signature, haskell détermine un type qui est peut être faut
pour la fonction, puis signale l'erreur dans une autre fonction qui
fait appel à la première.

> Dans mon exemple j'ai une variable nombre_points. C'est clairement un
> entier. Comment le préciser?

nombre_points :: Int


More information about the Haskell-fr mailing list