- Has most of R5RS plus SRFIs 0, 1, 6, and 8, Wright's MATCH package and
- A generational garbage-collector (youngest generation on the C-stack)
- Efficient first-class continuations with full support for multiple values
- Compiles into relatively portable C (32-bit ints, downward growing stack
- Easy access to C-functions and -macros
- The compiler is about 3000 lines of code and should be not too difficult
- CHICKEN is free and distributed under the GNU General Public License
- Only numeric types supported are fixnum (30-bit) and flonum (64-bit
- Some numeric routines are missing, some are not exactness preserving
- Floating-point printing/reading uses C-library and is not overly
- The FFI is only minimal, yet
- No module system and no OOP-support
- Access to Scheme from C (callbacks) is relatively complicated
CHICKEN is quite stable. It compiles all Gabriel/Clinger benchmarks,
r4rstest (doesn't give too much trouble) and itself (compiler and
Of course a lot of work has yet to be done to make this a reliable Scheme
system, but perhaps it might already be useful for someone.
Anybody interested can download the system at:
(BTW, my apologies for the state of the documentation)
Comments, suggestions and bug-reports would be very welcome!
I have added a makefile to the distribution, so
anybody *still* interested should go ahead now
and download the thing at
I compiled Chicken with mingw32 (gcc for win32), but it causes a memory
access error when it compiles large *.scm files, like csi.scm. This is the
same both under Windows NT, and 9x, on machines with 128 MB RAM.
Small *.scm files compile OK. I haven't played with it enough to find out
whether it's certain Scheme constructs that cause the problem, or simply the
size of the source file.
I like the documentation, though. Well written.
felix <fe...@anu.ie> wrote in message
>I compiled Chicken with mingw32 (gcc for win32), but it causes a memory
>access error when it compiles large *.scm files, like csi.scm. This is the
>same both under Windows NT, and 9x, on machines with 128 MB RAM.
>Small *.scm files compile OK. I haven't played with it enough to find out
>whether it's certain Scheme constructs that cause the problem, or simply
>size of the source file.
I just build the thing with Cygwin B20 (egcs 2.91.57) and the '-no-cygwin'
option (which according to the readme will "...link in the latest Mingw32
and everything works smoothly - large and small files.
What mingw32-version do you have?