From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 54177BB9C for ; Mon, 5 Dec 2005 11:24:07 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jB5AO60w027240 for ; Mon, 5 Dec 2005 11:24:07 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id LAA16780 for ; Mon, 5 Dec 2005 11:24:06 +0100 (MET) Received: from mail13.bluewin.ch (mail13.bluewin.ch [195.186.18.62]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jB5AO6E7027236 for ; Mon, 5 Dec 2005 11:24:06 +0100 Received: from [10.0.1.2] (81.62.71.117) by mail13.bluewin.ch (Bluewin 7.2.069.1) id 438B1A90001BAA5C for caml-list@inria.fr; Mon, 5 Dec 2005 10:24:04 +0000 Mime-Version: 1.0 (Apple Message framework v746.2) Content-Transfer-Encoding: 7bit Message-Id: <33E57BD4-F484-4E0B-8B23-DC84D4A3061E@epfl.ch> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: caml-list From: =?ISO-8859-1?Q?Daniel_B=FCnzli?= Subject: Checking an interface against an implementation Date: Mon, 5 Dec 2005 11:24:29 +0100 X-Mailer: Apple Mail (2.746.2) X-Miltered: at concorde with ID 43941546.002 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 43941546.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; bunzli:01 buenzli:01 epfl:01 compiler:01 invocation:01 cmo:01 cmx:01 implements:01 cmi:01 compilation:01 mli:01 mylib:01 mylib:01 api:01 mli:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 Hello, Is there a compiler invocation that allows to check that a particular cmo or cmx implements a given cmi ? I have some compilation units which are completely transparent to each other (i.e no .mli). However for the final client of these units I provide constrained interfaces specified in another directory. For example, mylib/a.ml mylib/b.ml mylib/api/a.mli mylib/api/b.mli Whenever I compile an .mli to a .cmi I would like to check that its corresponding .cmo implements it. The problem is that syntactically correct cmi always compile whithout problems. So if my .cmo doesn't implement my .cmi I only get an (uninformative) error when I try to actually link these units with the client. Thanks for your answers, Daniel