Thanks OrigEdit for pointing out how serious hangs can be.
Many thanks to wryl and the folks at #Nova for teaching me about inversion of control. There doesn't have to be a single event loop.
I7DLG3HYD2X4RPOYI5VFMBZO6HO6U32E3U6ZFE6QMBSH37QYANSQC local responserepeat
while true dolove.timer.sleep(0.01)local response = live.receive_from_app()if response thenreturn responseendlove.graphics.origin()love.graphics.clear(0,0,0)love.graphics.setColor(1,1,1)love.graphics.print('Waiting for app to respond...', 30,30)love.graphics.present()if love.event thenlove.event.pump()for name, a,b,c,d,e,f in love.event.poll() doif name == 'quit' thenos.exit(1)endendend