Browse thread
Modules, type de modules et type polymorphes.
-
Sven LUTHER
- Sylvain BOULM'E
- Markus Mottl
- Jean-Christophe Filliatre
[
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: | Sylvain BOULM'E <Sylvain.Boulme@l...> |
| Subject: | Re: Modules, type de modules et type polymorphes. |
> Bonjour, ... > Hello, ... > > quel est le probleme de ceci ? > > # module type T_A = sig > val string_of_a : 'a -> string > end;; > module type T_A = sig val string_of_a : 'a -> string end > # module A : T_A = struct > let string_of_a = string_of_int > end;; > Signature mismatch: Bonjour, Le probleme est que dans "T_A", on exige que "string_of_a" soit polymorphe. Or dans A, tu ne lui fournis qu'une fonction monomorphe !! Qq'un qui utilise un module A de type T_A a le droit d'ecrire "A.string_of_a true" Ce qui provoquerait un segmentation fault avec ton implantation de A... Je ne sais pas ceux que tu cherches a ecrire, mais qq chose comme ci-dessous serait peut-etre plus adapte : module type T_A = sig type t val string_of_a : t -> string end module A: (T_A with type t=int) = struct type t=int let string_of_a = string_of_int end Sylvain. -- Tel. prof : 01-44-27-88-35 Page web : http://www-spi.lip6.fr/~boulme/