To: caml-list@inria.fr
Subject: Re: porte des definitions des variables de classe
In-Reply-To: Your message of "Wed, 07 Oct 1998 12:16:01 +0200"
<199810071016.MAA18740@ventoux.lip6.fr>
Message-Id: <19981008163328G.garrigue@kurims.kyoto-u.ac.jp>
Date: Thu, 08 Oct 1998 16:33:28 +0900
From: Jacques GARRIGUE <garrigue@kurims.kyoto-u.ac.jp>
From: "Sylvain BOULM'E" <Sylvain.Boulme@lip6.fr>
> Par contre, il est vrai que je trouve surprenant que :
>
> class test2 =
> let v=ref 5
> in fun () ->
> object
> method get = !v
> method set x = v:= x
> end;;
>
> let f=new test2 in
> let a=f() and b=f() in (b#set 4; a#get);;
>
> retourne 5
>
> au lieu de retourner 4, comme on s'y attenderait....
Ca m'a tout l'air d'un bug du compilateur.
let a = new test2 () and b = new test2 () in (b#set 4; a#get);;
donne le meme resultat decevant, interdisant la creation de vraies
variables de classe.
Jacques
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:16 MET