The other day I stumbled upon a very interesting new online service for developers, Cloud9 IDE. Imagine Sublime Text, a test server with command-line access, version control, live chat, code-sharing and live collaboration, all bundled together in one convenient web app, allowing you and your team to work together seamlessly from anywhere with an internet connection. With Cloud9 IDE, that’s exactly what you get—and that’s just what comes with the free account.
The service seems primarily tailored to Node.js developers, but also includes out-of-the-box support for Python, Ruby, and PHP. Naturally I decided it would be worth the effort to see if I could get a Lisp installation up and running—and in the end it wasn’t particularly difficult. The one set-back is that your Project Workspace is running on a version of Red Hat that includes v2.12 of
glibc, which means that unless you want to compile both glibc and sbcl from source yourself for every lisp project you have on Cloud9, the latest version of SBCL you can install from the binary release is 1.0.23. Not ideal, but at least it works.
Of course, if you have an internet-facing test server of your own with SSH access, you can just use that, syncing the code from your git or mercurial repo as you go along.
Another option is to use one of the handful of Node.js packages to Lispify Node.js. While none of them are particularly mature or robust, the Cloud9 IDE service has a lot of extra features just for Node.js that you could then take advantage of, and still get your Lisp on.
To really become the ultimate hacking tool for Lispers, of course, Cloud9 needs a REPL pane and Lisp-mode menu that duplicates the functionality of SLIME. The Cloud9 IDE already has syntax highlighting for Common Lisp and Emacs key-bindings; after a quick perusal of the source-code on GitHub, extending the Cloud9 platform to include these features would actually be fairly trivial. Given the product and service they have already produced, it should not pose any significant challenges to their developers. Open-source projects such as REPL.it or JSCL could serve as an excellent base, or they could simply wrap an instance of SBCL in the terminal interface they already have. In my view, the most important aspect is giving every user an up-to-date version of SBCL out of the box. Naturally, I plan on bringing these features up to them myself, but obviously the more Lispers that ask for these features, the better.
Anyway, despite what it’s missing, I still recommend you try out Cloud9 for yourself. It’s a great tool, and really shows off what web technologies can do these days.