[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 <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>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-users] ANNOUNCING: Chicken 1.12 (... and you thought it couldn't get any better!),
felix <=