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: | -- (:) |
| 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