Hello, I am looking at what options there are to rewrite camlgrenouille, a small client for www.grenouille.com that I wrote a while ago, to make it more modular (to allow an external UI to the core program) and cross-platform (Unix and Windows). In a nutshell, this program periodically runs some tests. Right now its interaction with the outside is fairly limited: the only thing one can do is ask it to quit (by doing a ctrl-c which is caught so as to clean up before actually quitting). I would like to be able to send it more complex commands, which would be driven by a UI separate from the program. The simplest approach seems to be using a socket and a select call (with a timeout corresponding to the delay until the next test), but I was wondering if there were other options based on threads. For instance, could I use lwt under Windows? Thanks for any suggestion, Alan