I think the prize for doing event loops without a big fuss and before it was cool probably should go to tcl. They also did multithreading right, whereas Python botched that up. Tcl model: if you need to, run interpreters in separate threads in the same address space. No need for GIL, no need to pickle uncle pickle every message.