From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA28381 for caml-redistribution; Sat, 29 Aug 1998 18:47:35 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id QAA30311 for ; Wed, 26 Aug 1998 16:18:44 +0200 (MET DST) Received: from pasvite.inria.fr (pasvite.inria.fr [138.96.48.52]) by concorde.inria.fr (8.8.7/8.8.7) with ESMTP id QAA12467 for ; Wed, 26 Aug 1998 16:18:43 +0200 (MET DST) Received: from math.unice.fr by pasvite.inria.fr (8.8.8/8.8.5) with ESMTP id QAA00747 for ; Wed, 26 Aug 1998 16:18:43 +0200 X-Authentication-Warning: pasvite.inria.fr: Host localhost [127.0.0.1] claimed to be math.unice.fr Sender: weis Message-ID: <35E4193B.30969200@math.unice.fr> Date: Wed, 26 Aug 1998 16:18:35 +0200 From: Vladimir Vyskocil Organization: INRIA X-Mailer: Mozilla 4.05 [en] (X11; I; Linux 2.0.35 i586) MIME-Version: 1.0 To: caml-list@pauillac.inria.fr Subject: OCaml 2.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Bonjour, Suite a la sortie de la version 2.0 d'Objective Caml, nous nous sommes lance dans le "portage" de notre logiciel depuis la version 1.07 avec l'aide de ocaml1to2. Nous avons rencontre les problemes suivants : - Nous avons des classes marquees closed qui posent probleme avec Ocaml2.0, l'explication donnee dans le fichier README de ocaml1to2 : < c) from the self type to a known closed class type c >> n'est pas tres parlante pour nous, pourriez vous donner un exemple simple ? - Dans l'exemple suivant : class a = object (self) method call_pipo x = x#pipo self end ;; Some type variables are unbound in this type: class a : object ('a) method call_pipo : < pipo : 'a -> 'b; .. > -> 'b end The method call_pipo has type < pipo : < call_pipo : 'a; .. > -> 'b; .. > -> 'b as 'a where 'c is unbound Le type 'c n'apparait pas dans la signature de la classe, a quoi correspond t'il ? - Dans l'exemple suivant : class a = object (self) method call_pipo (x:b) = x#pipo self end and b a = object method pipo (x:a):a = x end;; This expression has type < call_pipo : b -> 'a; .. > but is here used with type 'b Self type cannot escape its class pourriez vous expliquer ce message d'erreur et donner une maniere de re-ecrire cela ? Merci par avance -- Vyskocil Vladimir vvyskoci@sophia.inria.fr http://www.inria.fr/safir/WHOSWHO/Vladimir.html