[racket] web server + REPL-ish functions?

From: Matthew Butterick (mb at mbtype.com)
Date: Wed Aug 27 13:33:07 EDT 2014

The main engine of my Pollen system is a project webserver that's started from the command line, uses serve/servlet, and sends the usual status & error messages to the terminal window.

I was thinking it would be handy to be able to keep an input prompt in that terminal window to be able to issue commands without stopping the server, switching to another window, etc.

Is there a straightforward approach to this in terms of program design, or would it introduce annoying complications? 

My understanding of serve/servlet is that it can only do one thing, which is listen & respond to TCP requests on a certain port. So for this REPL-ish feature, there would have to be a separate listenener/response mechanism. Is that something one would accomplish with threads? Or is there a better way? (Or no way.)

An approach I've seen with other web-development systems is to put an admin panel in the browser (by injecting it into the HTML of the output web page). But that's inherently hinky because it pollutes your output.

Posted on the users mailing list.