The following file works with 3.10 camlp4 but not 3.09 camlp4 (it works in 3.09.2 without camlp4) ... Does anyone knows a way to avoid the bug if I want my code to compile with the default installation of 3.09 ? Here is the error: raffalli@d45:~/Caml/pml/src$ ocamlc -pp camlp4o -c iset.mli File "iset.mli", line 31, characters 57-70: Failure: bad module expr long ident Uncaught exception: Failure("bad module expr long ident") Preprocessor error ------------- iset.mli ------------- (* Finite of Cofinite set library by C. Raffalli *) (* Meaningless for a finite type for elt !!! *) module type S = sig module FSet : Set.S type elt = FSet.elt type t = In of FSet.t | Out of FSet.t val empty: t val all : t val is_empty: t -> bool val is_all: t -> bool val mem: elt -> t -> bool val add: elt -> t -> t val singleton: elt -> t val remove: elt -> t -> t val complement:t -> t val union: t -> t -> t val inter: t -> t -> t val diff: t -> t -> t val compare: t -> t -> int val equal: t -> t -> bool val subset: t -> t -> bool end module Make(Ord: Set.OrderedType) : S with module FSet = Set.Make(Ord) and type elt = Ord.t ------------------------------- Thanks for any help -- Christophe Raffalli Universite de Savoie Batiment Le Chablais, bureau 21 73376 Le Bourget-du-Lac Cedex tel: (33) 4 79 75 81 03 fax: (33) 4 79 75 87 42 mail: Christophe.Raffalli@univ-savoie.fr www: http://www.lama.univ-savoie.fr/~RAFFALLI --------------------------------------------- IMPORTANT: this mail is signed using PGP/MIME At least Enigmail/Mozilla, mutt or evolution can check this signature. The public key is stored on www.keyserver.net ---------------------------------------------