Version française
Home     About     Download     Resources     Contact us    
Browse thread
Probleme d'interface
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Bouzid Djamila <Bouzid.Djamila@l...>
Subject: Probleme d'interface

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.