Re: ergonomie du compilateur

From: Emmanuel Engel (Emmanuel.Engel@lri.fr)
Date: Tue Jan 21 1997 - 11:31:12 MET


Date: Tue, 21 Jan 1997 11:31:12 +0100
From: Emmanuel Engel <Emmanuel.Engel@lri.fr>
To: Quercia <querciam@l-carnot1.ac-dijon.fr>
Subject: Re: ergonomie du compilateur

Quercia wrote:

> Bonne idee ! En attendant, dans ce genre de situation, je place en
> commentaire (ou je rajoute un failwith "") tous les cas sauf un pour
> examiner le type de chaque cas.
> Primaire mais efficace ...
>

Cela me semble bien complique. Je suppose que vous avez une idee
du type attendu. Il suffit alors d'indiquer au compilateur le type
attendu et, il va vous montrer ou il infere le mauvais type. Le seul
repproche que l'on puisse faire a cette technique est que la syntaxe
du langage oblige parfois a faire quelques amenagements.

Exemple:

sun12:~/tmp> ocaml
        Objective Caml version 1.03

# let rec f x =
    if x = 0 then f true else f (x-1);;
                                 ^^^^
This expression has type int but is here used with type bool
# let rec (f:int->int) x =
    if x =0 then f true else f (x-1);;
Syntax error
# let rec (f:int->int) = fun x->
      if x =0 then f true else f (x-1);;
                     ^^^^
This expression has type bool but is here used with type int
#

-- 

- Emmanuel Engel



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:09 MET