[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] ANNOUNCING: Chicken 1.12 (... and you thought it couldn

From: felix
Subject: [Chicken-users] ANNOUNCING: Chicken 1.12 (... and you thought it couldn't get any better!)
Date: Thu, 19 Jun 2003 20:28:58 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020529

The CHICKEN Scheme-to-C compiler, Version 1, Build 12 is now
available at <>.

Things changed since the last release (1.0):
- Countless bugfixes
- New setup-script specification `require-at-runtime'
- New compiler/interpreter option `-visit FILENAME'
- Removed redundant `interrupts-disabled' declaration specifier
- `chicken FILENAME' generates `FILENAME.c' instead of `out.c'
- `error-handler' has been removed
- Exceptions are now more usable
- `condition-case' syntax
- `csi -setup' handles single-file case now
- eval unit:
  (visit FILENAME)
- extras unit:
  `read-line' accepts optional limit
  (write-string STRING [SIZE [PORT]])
  the first argument to `read-string' is now optional
- posix units:
  `process' is now fully non-blocking
- tcp unit:
  (tcp-listener-port LISTENER)
  all socket I/O is now fully non-blocking
- format unit:
  `format' is now completely thread-safe
- lolevel unit:
  (invalid-procedure-call-handler PROCEDURE)
  (unbound-variable-value [VALUE])
- `csi' doesn't use the `lolevel' unit by default anymore
- Files loaded via the `-extend' compiler option are now searched in the current
- The I/O subsystem has been overhauled
- Blocked threads eat less CPU time
- Visit <>
  for a small selection of useful extension libraries.

Many thanks to Jonah Beckford, Anthony Carrico, Chris Double, Sven Hartrumpf,
Peter Keller, Burton Samograd, Panagiotis Vossos, Peter Wang and Joerg 
for their help!

- Generates tail-recursive C with full support for first-class
  continuations, multiple values and `dynamic-wind' (Using the translation
  scheme as described in Henry Baker's paper "Cheney on the M.T.A.").
- Fairly R5RS compliant.
- Support for SRFIs 0, 1, 2, 4, 6, 7, 8, 9, 10, 13, 14, 16, 18, 22, 23, 25,
  26, 28, 30 and 37.
- Record structures, hash-tables, queues, custom I/O ports, extended string
  operations, regular expressions, Common LISP style `format', TCP sockets and
- Provides a simple module system and an object system with multiple
  inheritance, multimethods and a Meta-Object-Protocol (based on
  Kiczales' TinyCLOS).
- Lightweight threads (based on call/cc).
- High portability (known to work on DOS, Windows, Linux, Free/Net/Open BSD,
  Solaris, SunOS, MAC OS X, HP-UX and probably many more. Supported
  processors include x86/IA32, Sparc, PA-RISC, Alpha, ARM, IA64, S/390, MIPS
  and PowerPC).
- Freely available under the BSD license.
- A POSIX interface (not supported on all platforms).
- Powerful pattern matching macros.
- `syntax-case' macro system.
- Generation of profiling information.
- A powerful Foreign Function Interface with callbacks, finalization,
  user defined foreign type converters, locatives, embedding of C code inside
  Scheme programs, statically allocated (non GC'd) Scheme data and the
  possibility of embedding compiled Scheme code into other applications.
- On some systems compiled code can be loaded dynamically into a running
- The compiler can be customized in various ways.
- Support for writing interpreted or compiled UNIX shell scripts or
  Windows/DOS batch files.

- No unlimited-precision integers (bignums), rationals
  or complex numbers.
- Procedures can not have more than 126 arguments (on x86 platforms
  this limit is raised to 1024).
- Compilation of large files is quite slow.

The current development version can be accessed via anonymous CVS, like this:

  cvs -d:pserver:address@hidden:/cvsroot/chicken login
  cvs -z3 -d:pserver:address@hidden:/cvsroot/chicken co chicken

  When prompted for a password, simply press the Enter key.
  See the file doc/README.CVS for details on how to bootstrap the system.

Check out <>
for a collection of contributed code and libraries.

A mailing list for CHICKEN can be accessed here:

  To post a message send e-mail to <address@hidden>

  General information about the mailing list is at

Bug reports, suggestions and comments would be very
welcome. Contact me at <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]