Fun with FFI
I recently received a task at work to implement a command-line tool that provides an interactive shell interface to a network protocol. Since the GNU Readline library provides a nice, familiar interface for that sort of thing, I looked for a high-level language I was familiar with that had readline bindings.
After a bit of investigation, I was unable to find one that looked usable. I did, however, discover that Chicken Scheme had an "egg" for readline integration. It didn't have all the features I needed, but it looked easily extensible.
The nice thing about Chicken (and a feature it shares with Gambit) is that it compiles to portable C code, so I wouldn't need an interpreter or runtime library to run the resulting application. This particular application might get distributed in the future, and we didn't want to require a relatively obscure langauge runtime to be distributed with it.
It turns out that adding the feature I wanted wasn't quite trivial, thanks to some lack of clarity in the readline documentation and some in the Chicken manual, but thanks to some very helpful guys on the Chicken email list, I was able to get it figured out. I highly recommend Chicken if you've got requirements similar to mine!