[Sizzle logo]

Sizzle Home Page

[ Introduction | Legal Issues | Features | Anti-Features | Bugs | Documentation ]
[ Mailing List | Feedback | Additional Packages | Download | Anonymous CVS | Platforms | Credits ]


Sizzle is an interpreter for the Scheme programming language.

Please note

Currently, I am not actively developing Sizzle any more. The reason is that I have started to work on Guile instead, and that work is eating up enough of my spare time.

The sizzle package includes a Scheme interpreter implemented as a library which can be embedded into C applications, a standalone interpreter for interactive use and scripting (which uses the interpreter library), user's reference and embedding manuals in info format and various examples, ranging from text processing to a simple web server.

Legal Issues

Sizzle is free software that comes under the GNU General Public License. In essence, this means that the program comes with full source code and may be modified and re-distributed, as long as the copyright notices in all files remain unmodified. Also, there is NO WARRANTY of any kind -- if Sizzle should wipe your disk, bad luck.




No bugs are known at the moment.


The Sizzle Reference Manual is available online. It contains a description of the interpreter, shows how to run it and gives a brief overview over the programming possibilities and the supported data types. It documents all builtin functions and syntactic forms. One section deals with the differences between Sizzle and R5RS Scheme in detail.

The Sizzle Embedding Manual documents the C API Sizzle provides and the design and implementation of the interpreter library. All functions for evaluating, variable binding, data type definition etc. from the C level are included. Also included is a tutorial for embedding Sizzle in existing applications

(The PDF versions of the manuals are located at the site of Cimarron Taylor, who did the conversion. Thanks.)

Mailing List

I have set up a discussion list for Sizzle at SourceForge. For posting, send your mail to sizzle-discuss@lists.sourceforge.net.

General information about the mailing list is available via web at http://lists.sourceforge.net/mailman/listinfo/sizzle-discuss.

If you want to subscribe via email, send a mail with the word subscribe in the subject or the body to the subscription address: sizzle-discuss-request@lists.sourceforge.net


I am really interested what you think about Sizzle. If you like it, send me a mail and tell me about it. If you don't like it, send me a mail telling me the reason. Maybe I can fix it.

Also feel free to drop a mail if you find a bug in Sizzle or find the documentation inaccurate or out of date.

Please send all mail concerning Sizzle to magr@cs.tu-berlin.de.

If you think your mail is of general interest, send it to the Sizzle discussion list mentioned in the Mailing List section above.

Additional Packages

In addition to the sizzle package, which includes the Sizzle core, a package sizzleopt is available which includes dynamic libraries and Scheme modules for additional functionality:

The latest version of the sizzleopt package is availabe from the download section below.


You can download the latest version of Sizzle from the list below. Please choose the newest version. Also available are additional packages, which you may download as required. Please see the Packages section above to see ehich packages might be interesting for you.

In order to build Sizzle, just untar it into a directory of your choice, configure and make it. More on configuring is in the file INSTALL in the top-level directory. Also have a look at the files README-alpha and README, and especially at the file COPYING which states the license under which Sizzle is destributed.

List of packages:

Sizzle core:

Optional packages:

Windows binaries:

Anonymous CVS

The cutting edge development sources of Sizzle are always available via anonymous CVS. If you want to grab the sources, follow these steps:

  1. Login to lkcc.pinuts.de, using the account and password anoncvs
    $ cvs -d :pserver:anoncvs@lkcc.pinuts.de:/home/cvs/cvsroot login
  2. Checkout the module sizzle:
    $ cvs -d :pserver:anoncvs@lkcc.pinuts.de:/home/cvs/cvsroot co sizzle
    This will create the directory sizzle which contains the source tree.
  3. After checking out the module, and every time you update your source tree, you should invoke the shell script ./autogen.sh, which will re-generate some of the files which may have become out of date.
  4. You only have to check out the module once. If you want to update your copy of the sources later, you can use the CVS update command:
    $ cd sizzle
    $ cvs -d :pserver:anoncvs@lkcc.pinuts.de:/home/cvs/cvsroot update

The sizzleopt package is also available via anonymous CVS, just follow the instructions above and checkout the module sizzleopt.


Currently Sizzle builds and runs cleanly under GNU/Linux, tested on SuSE 6.0 and Debian 2.1 (Slink) and 2.2 (Potato). It also compiles and runs on UltraSPARC under Solaris 2.7 and on Alpha under GNU/Linux, both compiled with GCC, although I have not done much testing on these platforms. Sizzle is also known to compile under Win32, and can be built as a DLL. The Windows port requires either the Cygwin packages, the MingW32 package or native M$ Visual C.

If you are using Sizzle on Itanium (IA-64), you will experience problems when running Scheme programs for a longer time, because garbage collection does not work there.


A lot of Scheme and Lisp interpreters have influenced the design of Sizzle, mainly Guile and XLISP. I also investigated SCM, MzScheme, QScheme, xscheme, elk, xscheme, RScheme, Bit, UCB-Scheme and various others.