[
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: | 1998-08-24 (13:07) |
From: | boos@a... |
Subject: | Re: Types construits et interface de modules |
Salut Sven, Ton truc ne marche évidemment pas en O'Caml, les constructeurs ne sont 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 type t = [ `A | `B ] end module A = struct type t = [ `A | `B ] end module B = struct type t = [ `A | `B | `C ] end module F (M:T) = struct type t = M.t end 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 !)