OCaml 2.0

From: Vladimir Vyskocil (vyskocil@math.unice.fr)
Date: Wed Aug 26 1998 - 16:18:35 MET DST


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