[CM] CM port to Guile available

Rick Taube taube@uiuc.edu
Sat, 3 Aug 2002 17:37:38 -0500

A port of Common Music to Guile 1.5.6 on Lunix is available from the ccrma ftp server:


The scheme version of CM requires Guile 1.5.4 or higher. You can get Guile 1.5.6 from the ccrma ftp server:


After restoring scm.tar.gz see the file scm/readme.text for information on building CM in Guile and for a list of changes to the system that the port necessitated. The good new is that really very little changed (from a user's perspective) and the vast majority of the implementation changes i did make are really for the better. The file scm/examples.cm is good place to start trying out cm in Guile.

I have to say that -- Guile's execution speed aside -- I like working in Scheme and Guile very much and I certainly prefer it over Clisp, CMU, and IBCL.  Maybe its me getting older but I appreciate the spare beauty of Scheme and how it forces you to pay attention to syntax (my mind tends to wander these days...)  But then again, as Gregor Kiczales said, "Scheme is such a beautiful
language nobody can program in it."

So what's next...Once the ported software is stable I plan fold the changes back into the full cm source tree. I want to only maintain one basic set of sources so I think Ill make the scheme sources the 'official' ones and write a scheme->cltl2 translator so i can always re-port the code back into cltl2.

Once this is done, there are several projects that I am keen on starting:

  1 Get cm's Plotter running in Guile/X, hopefully based on stuff bil
    has developed with snd/guile graphics.
  2 See about implementing a real-time scheduler for cm and maybe
    pushing some of the code into C to gain speed.

If anyone has ideas about these things or would like to help design and implement them please let me know.  I'd also like to know if Guile-1.5.6 could be Fink-ified to run on OSX and if it would be possible for Guile to run under Windows using the CYGWIN tool set. 

I'll be on vacation for two weeks in Calif. starting next week but will check my email fairly regularly. I'm sure there are still some syntax/typo bugs in the new code but these things are very easy to fix.  The main problem is finding them without a compiler! If/when you encounter an error please do (backtrace) and send me that printout in the message. Or better yet fix it yourself and post the answer!