Date: Wed, 26 Aug 1998 16:18:35 +0200
From: Vladimir Vyskocil <vyskocil@math.unice.fr>
To: caml-list@pauillac.inria.fr
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
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:15 MET