[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] ANN.: The best Chicken ever! (1.0)
From: |
felix |
Subject: |
[Chicken-users] ANN.: The best Chicken ever! (1.0) |
Date: |
Thu, 20 Mar 2003 22:40:25 +0100 |
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 0 is now
available at <http://www.call-with-current-continuation.org/chicken.html>.
Things changed since the last release (0.1082):
- Many bugfixes
- Declaration specifier `compress-literals' and compiler-option
`-compress-literals N'
- Chicken now compiles on OpenBSD [Thanks to Steve Elkins]
- `library' unit:
(chicken-version)
- A new version of the portable syntax-case macro system is now used, which
provides `identifier-syntax', `fluid-let-syntax' and `datum->syntax-object',
allows low-level macros (`define-macro') in combination with hygienic
macros and supports the module system used in Chez Scheme (but does not
handle separate compilation)
- The syntax `(define-syntax (name var) ...)' is allowed
- Chicken supports now SRFI-37 officially (A new library unit named `srfi-37'
has been added)
- The old module system has been removed. It was rather hackishly implemented
and didn't integrate well with the highlevel macro system
- The scheduler and the threading system have been massively overhauled
and scale a little better
- The pattern-matcher is now available in combination with the highlevel
macro system, enter `(include "match")' or `(require-for-syntax 'match)'
to make it available
- SRFI-22 script interpreters `scheme-chicken' and `scheme-chicken-hygienic'
have been added
- Compiled `#!' scheme scripts with an invocation line of `csi -script' or
`scheme-chicken'/`scheme-chicken-hygienic' automagically link with all
libraries
which would normally be available under the interpreter.
- Type-checks of fixed size objects are slightly more efficient
- Extension-libraries can now be stored alternatively in a directory given
by the CHICKEN_REGISTRY environment variable or in `$HOME/.chicken-registry'
- The new library unit `tcp' provides a PLTish socket interface,
`tcp-accept' and I/O from socket ports do not block other running threads
- The new compiler/interpreter option `-strict-letrec' enables a fully R5RS
compliant expansion of `letrec'
- Chicken should now pass all tests of Scott G. Millers `r5rs_pitfalls.scm'
- Jonah Beckford ported SWIG (<http://www.swig.org>) to Chicken!
Check out a preliminary version at
<http://beckford.netfirms.com/hobbies/swig/>
- On Windows (Cygwin, Mingw32 and MSVC), CHICKEN now supports shared libraries
and dynamic loading. Many thanks to Jonah Beckford for his tremendous work!
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' 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/x86, Free/Net/Open BSD,
Solaris, SunOS, MAC OS X, HP-UX and probably many more. Supported
processors include x86/IA32, Sparc, HPPA, 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>
- [Chicken-users] ANN.: The best Chicken ever! (1.0),
felix <=