Version française
Home     About     Download     Resources     Contact us    
Browse thread
problemes de types
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Pierre Weis <Pierre.Weis@i...>
Subject: Re: problemes de types
> j'ai un petit probleme avec les definitions de types. Lorsque je definis deux 
> types enregistrements ayant un champ portant le meme nom, le compilateur 
> semble avoir du mal a reconnaitre les types de mes variables.
[...]
> Le meme type de conflit existe avec les types enumeres.

Effectivement, il n'y a pas de surcharge sur les identificateurs en
Caml. C'est vrai pour les noms de champs d'enregistrement, les
constructeurs de types somme, les identificateurs de valeurs et les
ope'rateurs (pas de surcharge de + par exemple). Seuls les objets
d'O'Caml permettent cette surcharge sur les me'thodes.

Si vous voulez de'finir des champs de me^me nom dans plusieurs types
diffe'rents, il faut les de'finir dans des modules diffe'rents,
puisque chaque module introduit son propre espace de nom.

> **********************************************************************
> English summary
> **********************************************************************
> I've a little problem with record types. When I define two types with a common 
> field name, the compiler seems to have problems to recognize the type of 
> variables.
[...]
> The same problems appears with variant types.

There is no overloading in Caml, neither for field names in records,
constructors names in concrete types nor for functions or operators
names (e.g. +). However, objects in O'Caml provide overloading for
methods names. 

A solution to overcome the problem is to define the types in separate
modules, since each module introduce a new space name.

Best regards,

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis/