[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 1998-08-29 (16:47) |
From: | Vladimir Vyskocil <vyskocil@m...> |
Subject: | OCaml 2.0 |
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 : <<It usually suffices to introduce coercions (self :> 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