I've been running http://tracksruns.com (source http://goods.tracksruns.com/runs.arc.txt) behind apache on ubuntu with mzscheme 360. It gets virtually no traffic but has been up without problems since I started it a month or so ago. I launched it using screen so I can get back to the REPL whenever I want. The server uses some globals that are interesting to look at like optimes*.
It's still on arc0. The main gotcha is that it thinks all requests are from 127.0.0.1 because it does not pay attention to apaches's X-Forwarded-For header.
Thanks - I had forgotten about the repl operator that pg mentioned in that thread. I'll have to try that out.
I love the quote from Ron Garret about the benefits of a REPL.
"Debugging a program running on a $100M piece of hardware
that is 100 million miles away is an interesting experience. Having a
read-eval-print loop running on the spacecraft proved invaluable in
finding and fixing the problem."
I got it to work behind apache with mod_proxy. One gotcha I never got around to fixing was getting the arc app to pay attention to the X-Forwarded-For header instead of just using 127.0.0.1 as the remote ip address.
Off the top of my head it's the 5 characters you save on calls to apply. Also, as opposed to apply, you keep the function in functional position which seems cleaner to me.
I'll keep thinking about common cases where it's a bigger win. A more elaborate call to apply where you have to compose the list comes to mind:
Yours is 71% longer. That does seem significant. Or the auto-expand is 42% shorter. Wow, what are the chances that it'd be 42% shorter when I just watched Hitchhiker's Guide on TiVo the other night?
The other thing I'm noticing is that I've been nesting lets when the second assignment depends on the first. I think I should be using withs which I did not know about.