[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 1999-11-17 (09:46) |
From: | Benoit de Boursetty <debourse@e...> |
Subject: | Re: What is this? |
On Tue, 16 Nov 1999, skaller wrote: > 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] I can't see the error, but I suggest you comment out most of the code. If you begin with try 0 with SystemExit n -> n | x -> 0 and uncomment things afterwards, you can find where the problem is by dichotomy. Since you have 6 lines of code, it shouldn't take you more than 3 tries :) Benoît de Boursetty.