chicken-users
[Top][All Lists]
Advanced

[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>







reply via email to

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