What is this?

From: skaller (skaller@maxtal.com.au)
Date: Tue Nov 16 1999 - 03:00:36 MET


Date: Tue, 16 Nov 1999 13:00:36 +1100
From: skaller <skaller@maxtal.com.au>
To: caml-list@inria.fr
Subject: What is this?

Can anyone see this error?
--------------------------------------------------------
File "py_interp.ml", line 477, characters 6-545:
This expression has type int but is here used with type unit
---------------------------------------------------------
[exception SystemExit of int]
.....

  method run_file filename : int =
      try
        ignore (environment # set_attr (PyString "__name__") (PyString
"__main__"));
        ignore (environment # set_attr (PyString "__file__") (PyString
filename));
        Py_exec_module.exec_file (self:>interpreter_t)
          (Py_exec.py_exec (self:>interpreter_t)
(environment:>environment_t))
          filename
        ;
        0
      with
      | SystemExit n -> n
      | x ->
        print_endline ("Error Near line " ^ (string_of_int (fst
source_reference)));
        flush stdout;
        self#py_raise x;
        0 (* dummy value *)

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

This method is NOT called anywhere in the module.
I cannot see where the inference engine gets the
idea that the expression should have type unit.

[That message is really annoying. It should read
" .. but is used _somewhere else_ with type .."
since it always means that. It would be nice
to know where that somewhere else is, since half the
time, that is where the error is]

--
John Skaller, mailto:skaller@maxtal.com.au
1/10 Toxteth Rd Glebe NSW 2037 Australia
homepage: http://www.maxtal.com.au/~skaller
downloads: http://www.triode.net.au/~skaller



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:28 MET