Re: porte des definitions des variables de classe

From: Jacques GARRIGUE (garrigue@kurims.kyoto-u.ac.jp)
Date: Thu Oct 08 1998 - 09:33:28 MET DST


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