Is anybody here using Scheme in the real world? Common Lisp has been my language of choice for a while now, but I'd like to try something a little less bulky. There are two types of projects I'm working on with very different requirements. I'm considering Scheme for both.
The first is standard webapp development. I've been using Hunchentoot, CL-WHO and friends here, and I'm experimenting with Weblocks. I generally like these tools, but I'm open to trying tools that work differently. I'd like to know what tools the Scheme users here prefer for web work.
The other project is a desktop/embedded (fairly fast PC hardware) system with soft real-time requirements (for the curious, it's a DMX lighting controller). I'm looking for speed, multithreading and some predictability in the garbage collector.
So for the web I would use PLT and its great web server. In fact I do use it for a little internal app and love being able to write a web app in the 'direct style' ie just write a web page interaction with a user as a function execution. You can just assign a lambda to a link, saying 'when the user clicks this link, execute this lambda'. It's great. However, that links won't be bookmarkable nor indexable by search engines, so if some of your pages need to be, you have to make the links to them be traditional links. So the continuations-based stuff lends itself to the parts of your app that are private to a single user (like taking user input or showing them their email) and/or shouldn't show up in a search engine anyway. This would include anything that you would describe as a 'wizard'.
NASA (or is it just the Air Force?) is using PLT Scheme to control a large telescope in New Mexico (http://news.ycombinator.com/item?id=75219) to great success. So for soft real-time stuff you should be good. Just from using it, I wouldn't recommend the default garbage collector with PLT for anything like hard real-time stuff. But there are other GCs, so ask around. The PLT mailing list is excellent: http://www.plt-scheme.org/maillist/