I've been thinking about building this for Tcl. Tcl has been available in the browser in various forms for decades, but one thing that makes Tcl uniquely suited to a web application style development is its threading model. In Tcl, you access a thread by sending messages to it, in which a Tcl interpreter inside its event loop processes. My plan was to have a client-side Tcl program in the browser that automatically instantiates a second thread, but the thread is a remote thread running on the server, so you would be able to access the server just as if it were another thread.
Something like (client-side):
thread::send $::tcl-web::server -async {
do stuff
} placeToStoreResult
...
vwait placeToStoreResult
do stuff with result $placeToStoreResult