module type PILE_SIG =
sig
exception Vide
type 'a pile
val depiler : 'a pile -> 'a
val empiler : 'a pile -> 'a-> unit
val create : 'a pile
end
module Pile : PILE_SIG=
struct
exception Vide
type 'a pile = {mutable ls : 'a list}
let depiler p =
let a = List.hd p.ls in
(p.ls<-(List.tl p.ls);a)
let create = {ls=[]}
let empiler p e =
p.ls<-e:: p.ls
end
val create : 'a pile
et la sortie de ocamlc:
File "Pile.ml", line 11, characters 1-206:
Signature mismatch:
Modules do not match:
sig
exception Vide
type 'a pile = { mutable ls : 'a list; }
val depiler : 'a pile -> 'a
val create : '_a pile
val empiler : 'a pile -> 'a -> unit
end
is not included in
PILE_SIG
Values do not match:
val create : '_a pile
is not included in

) (bon ok j'ai c/c dans ocaml ça m'a pas pris des heures mais bon ^^)
))
, il est 



mais je ne comprends pas cette critique précise...)