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

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Sven LUTHER <luther@p...>
Subject: Re: types recursifs ...
Didier Rousseau wrote:
> 
> Sven LUTHER wrote:
> 
> > ...
> >       si ('a t as 'a) designe un type recursif alors 'a et 'a t devrait etre
> > les memes types
> >
> >       et donc term t devient (term t as term) et donc term t et term sont les
> > memes types.
> > ...
> 
> Prenons un exemple :
> le type predefini, list, est equivalent a cette definition :
>         type 'a list = [] | :: of 'a*'a list
> 
> si l'on utilise ce type avec des "int" : int list
> il est claire que "int" et "int list" sont deux types differents !!
> 

En fait ce que je voulais c'est bel et bien definir un type recursif,
c'est a dire du type :

'a t as 'a, ou peut etre 'a list as 'a.

cela est-il possible en Caml ?

d'apres la discution sur ce sujet, je ne pense pas que ce soit possible.

y a-t-il un autre mecanisme pour etendre un type, voir un module, un peu
a la facon
de l'heritage pour les objets, quelque choses qui permettrait d'etendre
un type ou un
module, eventuellement dynamiquement ?

Sven LUTHER