On Feb 16, 2008 11:26 AM, Dominique Martinet wrote: > Hello, > > If it's an OCaml interpreter, I don't think there's a way to evaluate > the time needed automatically, you can compute the complexity yourself > and have a rough evaluation of the compile time, but there's no way a > computer will do it for you without actually evaluating the > expression. > > The stopping is easy though; if you use a GUI you probably already > have threads (i.e. when you click on run, it will call the "eval > prog1" function in a thread, so you can keep editing inside of the > GUI). You can save the thread id when you run it, and ask to kill it > when you click on the stop button, and I don't even think it will > raise an exception. > > If you're not already using threads, I'm curious and would like to > know how you plan to handle the GUI. > > Regards, > Martinet Dominique > > PS : O'Reilly's book is a nice place to start if you don't know much > about threads > http://caml.inria.fr/pub/docs/oreilly-book/html/book-ora175.html > Well, I followed the direction on this page, however, whenever I try to compile using ocamlc, I got "Unbound module Thread" for the line where I have: "Thread.create compute ()" Anyone knows what can be the problem here? Here is my compiling flags: world: $(LIBTARGETS) $(GTKSRCFILES:.ml=.cmo) src/main.ml ocamlc $(COMPFLAGS) -thread -custom threads.cma -cclib -lthreads -cclib -lunix -cclib -lpthread graphics.cma $(LIBTARGETS) $(GTKSRCFILES:.ml=.cmo) \ $(TKSRCFILES:.ml=.cmo) -o acumen src/main.ml @ echo " -- make world (Done)" world.opt: $(LIBTARGETSOPT) $(GTKSRCFILES:.ml=.cmx) ocamlopt -thread threads.cmxa -cclib -lthreads -cclib -lunix -cclib -lpthread $(COMPFLAGS) $(LIBTARGETSOPT) $(GTKSRCFILES:.ml=.cmx) \ src/main.ml -ccopt -Wl,-E -o acumen.opt @ echo " -- make world.opt (Done)" Best, Angela