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