chicken-users
[Top][All Lists]
Advanced

[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 <http://www.call-with-current-continuation.org/chicken.html>.

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
  errno/wouldblock
- 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
  include-path
- The I/O subsystem has been overhauled
- Blocked threads eat less CPU time
- Visit <http://www.call-with-current-continuation.org/eggs/index.html>
  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 
Wittenberger
for their help!

Features:
- 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
  more...
- 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
  application.
- The compiler can be customized in various ways.
- Support for writing interpreted or compiled UNIX shell scripts or
  Windows/DOS batch files.

Limitations:
- 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 <http://www.call-with-current-continuation.org/software.html>
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
  <http://mail.nongnu.org/mailman/listinfo/chicken-users>

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]