Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: Automatic coercition to a more general type ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Didier.Remy@i...
Subject: Re: Automatic coercition to a more general type ?

Bonjour, 

> J'ai une question concernant le sous-typage et la nécessité de faire
> une coercition explicite d'un objet en un type plus général (par
> exemple pour mettre des objets de classes différentes dans une même
> liste, en forçant un type 'ancêtre commun', cf. exemple point et color_point
> de la doc).
> 
> N'y aurait-t-il pas moyen de réaliser cette coercition de façon
> automatique en trouvant le type intersection des types de ces objets ?

La coercition d'une valeur de type A en une valeur de type B est 
sémantiquement correcte si A est un sous-type B. 

Ce que tu demandes consiste donc à synthétiser des types avec contraintes de
sous-typage.  C'est un problème connu, qui dans toute sa généralité n'a
trouvé de solutions théoriques que très récemment. 

Cependant ces solutions ne sont pas encore suffisamment satisfaisantes pour
être ajoutées au langage sans risque de nuire à sa simplicité voire à son
utilisation. 

C'est pour cela que nous avons pour l'instant choisi la solution la plus
simple qui consiste uniquement à vérifier les relations de sous-typage
explicitement demandées par l'utilisateur.

    -Didier.