Re: Types construits et interface de modules

From: boos@arthur.u-strasbg.fr
Date: Thu Aug 20 1998 - 08:17:20 MET DST


From: boos@arthur.u-strasbg.fr
Date: Thu, 20 Aug 1998 08:17:20 +0200 (CEST)
To: caml-list@inria.fr
Subject: Re: Types construits et interface de modules
In-Reply-To: <35DA8DDB.4BBB1E59@e-i.com>

Salut Sven,

Ton truc ne marche évidemment pas en O'Caml, les constructeurs ne son=
t
pas du tout des valeurs fonctionnelles (comme ils le sont en SML).

Par contre, une
fonctionnalité assez proche de ce que tu recherches existe dans
O'Labl : les variants polymorphes.
Ca fait longtemps que je n'ai plus touché à O'Labl, donc je
te dis ca de tête :

module type T = sig
=09type t = [ `A | `B ]
=09end
module A = struct
=09type t = [ `A | `B ]
=09end
module B = struct
=09type t = [ `A | `B | `C ]
=09end

module F (M:T) = struct
=09type t = M.t
=09end

module MA = F (A)
module MB = F (B)

[English: what Sven asked for in his mail is probably Jacques Garrigue
's "Polymorphic Variants" (in O'Labl) ]

-- Christian

(qui découvre avec bonheur O'Caml-2 : félicitations tout le monde !=
)



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