Browse thread
types recursifs ...
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 1997-05-14 (06:48) |
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