I've only dabbled in Lisp/Scheme before. I like the concepts, but I have never actually spent much time with any one implementation. (I suppose Python and the C++ STL filled my functional programming needs.) I've been feeling intellectually restless lately, though, and taking up a new language could break up the monotony. I've been skimming the documentation for the Chicken Scheme compiler and it looks like a great language for embedding within a C/C++ application. Of course, one of the best features of Scheme as a language is the amazing instructional material available over the web:
So I build and install Chicken Scheme. Immediately, I notice a lack of readline support in the interpreter. So I try to install the readline.egg extension. It will not compile. I dig around a little and discover that the readline supplied by OS X is a compatibility wrapper around an ancient libedit, a BSD-licensed equivalent to GNU's readline! This is one of the adjustments I had to make coming to the Mac from Linux: OS X evolved from BSD without always adopting the GNU tools. I like this in theory (a software multiculture is more resistant to viruses, etc.) but it can be a nuisance in practice. Perhaps I should look at installing an editline fork?