Re: types recursifs ...

From: Sven LUTHER (luther@phivolcs.dost.gov.ph)
Date: Wed May 14 1997 - 08:39:41 MET DST


Date: Wed, 14 May 1997 14:39:41 +0800
From: Sven LUTHER <luther@phivolcs.dost.gov.ph>
To: Didier Rousseau <Didier.Rousseau@cnam.fr>
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



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:10 MET