You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 1630 Reporter: administrator Assigned to:@lpw25 Status: resolved (set by @mshinwell on 2016-12-07T13:53:27Z) Resolution: fixed Priority: normal Severity: feature Category: ~DO NOT USE (was: OCaml general)
Bug description
Full_Name: John Gerard Malecki
Version: 3.06
OS: any
Submission from: 192-149-105-50.artisan.com (192.149.105.50)
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:
Signature mismatch:
Modules do not match:
sig type t = float * float * int end
is not included in
Pure.T
Is it possible to improve this message? There really isn't a signature
mismatch.
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
detail.
The text was updated successfully, but these errors were encountered:
The error message for this case has since been improved, so that you would receive something like:
File "test.ml", line 2, characters 21-44:
Error: Signature mismatch:
Modules do not match: sig type t = int end is not included in Other.T
Unbound module type Pure.T
which does indicate that the module type cannot be found.
Original bug ID: 1630
Reporter: administrator
Assigned to: @lpw25
Status: resolved (set by @mshinwell on 2016-12-07T13:53:27Z)
Resolution: fixed
Priority: normal
Severity: feature
Category: ~DO NOT USE (was: OCaml general)
Bug description
Full_Name: John Gerard Malecki
Version: 3.06
OS: any
Submission from: 192-149-105-50.artisan.com (192.149.105.50)
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:
Signature mismatch:
Modules do not match:
sig type t = float * float * int end
is not included in
Pure.T
Is it possible to improve this message? There really isn't a signature
mismatch.
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
detail.
The text was updated successfully, but these errors were encountered: