Version française
Home     About     Download     Resources     Contact us    
Browse thread
Cancel button or Status bar
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Angela Zhu <angela22.zhu@g...>
Subject: Re: [Caml-list] Cancel button or Status bar
On Feb 16, 2008 11:26 AM, Dominique Martinet <asmadeus77@gmail.com> 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