|Anonymous | Login | Signup for a new account||2013-06-19 08:47 CEST|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001630||OCaml||OCaml general||public||2003-04-11 19:38||2003-05-05 16:56|
|Target Version||Fixed in Version|
|Summary||0001630: Signature mismatch or Unbound module type?|
|Description||Full_Name: John Gerard Malecki|
Submission from: 192-149-105-50.artisan.com (126.96.36.199)
I made an error and forgot to install a .cmi file along with my .cma library.
It was an easy error to make as this .cmi file did not have an associated
implementation file. When I compile using the library I get the message
:; ocamlc -i -c test.ml
File "test.ml", line 6, characters 32-45:
Modules do not match:
sig type t = float * float * int end
is not included in
Is it possible to improve this message? There really isn't a signature
Their simply isn't a definition of Pure.T.
I know this sounds trivial and maybe not really a bug. In fact it might even be
considered a feature but I haven't figured how to take advantage of it yet.
My big concern is that the library developer cannot tell if their installation
is correct without testing all of the interfaces to the library. I prefer ocaml
as it has static interface checking. Maybe there should be a tool that
examines a linkage and checks that all interfaces are defined? This way after
installation the library developer can check that all interface files are also
installed. What do you think?
Send me email if you want me to supply a test case or describe in better
|Tags||No tags attached.|
|2005-11-18 10:13||administrator||New Issue|
|Copyright © 2000 - 2011 MantisBT Group|