Ian Bicking: the old part of his blog

Introducing htconsole comment 000

Huh, yeah it's right in Base. I guess I have a problem figuring out what module things are in -- specifically Base, Format, and Async, though Base and Iter are also hard to tell apart at times. Now that I look at it, I realize I could just expand all the function lists on the front page of the documentation; instead I kept looking on individual pages. Maybe an "expand list of all available functions" link on the front page would help?

For the while True thing... damn, stopping a runaway thread is hard. Certainly on the client side some indication of command-sent-waiting-for-response can be added easily enough, but unfortunately I don't know how to actually handle the problem of infinite loops.

Comment on Re: Introducing htconsole comment 000
by Ian Bicking


There are two ways to handle an infinite loop.. you can set a trace func that checks some variable to see if it should raise an exception or not, or you can hack into some semi-private C API which lets you send an exception to another thread. The former is probably better for this.

I'll see about adding that expand all button, should be easy enough.

# Bob Ippolito

Keep in mind that Turing proved (before computers existed in fact) that it is impossible to accurately detect infinte loops -- it's called the 'Halting problem' FYI.

# Silas Snider