Probleme d'interface

Bouzid Djamila (Bouzid.Djamila@loria.fr)
Thu, 13 Jun 1996 18:45:33 +0200 (MET DST)

From: Bouzid Djamila <Bouzid.Djamila@loria.fr>
Message-Id: <199606131645.SAA17944@delsarte.loria.fr>
Subject: Probleme d'interface
To: caml-list@pauillac.inria.fr
Date: Thu, 13 Jun 1996 18:45:33 +0200 (MET DST)

Bonjour,

Voila, j'ai deux fichiers CSL (Caml Special Light)
vendor.mli (pour l'interface) et vendor.ml

(* fichier vendor.mli *)
module type VENDOR_INTEGER =
sig
val min : int * int -> int
end (* sig *)

module type VENDOR =
sig
val print: string -> unit
module Integer : VENDOR_INTEGER
end (* sig *)

(* fichier vendor.ml *)
open vendor
module V : VENDOR =
struct
let print = print_string
module Integer : VENDOR_INTEGER =
struct
let min ((x:int),(y:int)) = if x < y then x else y
end
end (* functor V *)

A la compilation, voila le message d'erreur que je recois a chaque fois

finot ip 175 % cslc -i vendor.mli
module type VENDOR_INTEGER = sig val min : int * int -> int end
module type VENDOR =
sig val print : string -> unit module Integer : VENDOR_INTEGER end
finot ip 176 % cslc -i vendor.ml
module V : Vendor.VENDOR
The implementation vendor.ml does not match the interface vendor.cmi:
The field `VENDOR' is required but not provided
The field `VENDOR_INTEGER' is required but not provided
finot ip 177 %

J'ai essaye toutes les methodes, mais a chaque fois je tombe sur
la meme erreur.

Pouvez_vous ,s'il vous plait, m'expliquer a quoi est du ce probleme ?

Merci de votre reponse

-----------------------------------------------------------------------------

Hi!

I have two CSL files : vendor.mli (the interface) and vendor.ml

(* vendor.mli *)
module type VENDOR_INTEGER =
sig
val min : int * int -> int
end (* sig *)

module type VENDOR =
sig
val print: string -> unit
module Integer : VENDOR_INTEGER
end (* sig *)

(*vendor.ml *)
open vendor
module V : VENDOR =
struct
let print = print_string
module Integer : VENDOR_INTEGER =
struct
let min ((x:int),(y:int)) = if x < y then x else y
end
end (* functor V *)

when compiling these programs, I receive the following error message :

finot ip 175 % cslc -i vendor.mli
module type VENDOR_INTEGER = sig val min : int * int -> int end
module type VENDOR =
sig val print : string -> unit module Integer : VENDOR_INTEGER end
finot ip 176 % cslc -i vendor.ml
module V : Vendor.VENDOR
The implementation vendor.ml does not match the interface vendor.cmi:
The field `VENDOR' is required but not provided
The field `VENDOR_INTEGER' is required but not provided
finot ip 177 %

Please, could you tell me where's the problem ?

Thanks for the response.

D. Bouzid.