chicken-users
[Top][All Lists]
Advanced

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

[Chicken-users] Announcing: Chicken, Build 1082


From: felix
Subject: [Chicken-users] Announcing: Chicken, Build 1082
Date: Tue, 03 Dec 2002 00:44:48 +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 0, Build 1082 is now
available at

<http://www.call-with-current-continuation.org/chicken.html>.

Things changed since the last release (1072):
- Bugfixes.
- Support for SRFI's 26 (cut) and 30 (block comments).
- Peter Keller translated the manual into LaTeX. Pdf and html
  documentation is available.
- Peter Keller has contributed a comprehensive testing framework
  (fully R5RS compliant).
- Declaration specifiers:
  export
  compile-time-macros-only
- Library unit `extras':
  hash-table-remove!
  ->string
- Library unit `posix':
  sleep
- Library unit `lolevel':
  pointer-offset
  pointer-u8-ref  pointer-u8-set!
  pointer-s8-ref  pointer-s8-set!
  pointer-u16-ref  pointer-u16-set!
  pointer-s16-ref  pointer-s16-set!
  pointer-u32-ref  pointer-u32-set!
  pointer-s32-ref  pointer-s32-set!
  pointer-f32-ref  pointer-f32-set!
  pointer-f64-ref  pointer-f64-set!
- Dynamic loading is now supported on older HP-UX systems that
  provide `shl_load()' instead of `dlopen()'
  (Thanks to Tony Garnock-Jones)
- Error messages have been (slightly) improved.
- A system for simplified packaging, building and installation
  of extension-libraries (based on shared libraries) is now provided.
- New data type `locatives' allow to create pointers into arbitrary
  sections of various kinds of Scheme data objects.
- So called `locations' simplify passing pointers to local or global
  Scheme variables to foreign procedures.
- FFI-generated code is a little bit more compact and efficient.
- Chicken supports alternative keyword syntaxes (CL/DSSSL) via the
  compiler/interpreter option `-keyword-style' and the parameter
  `keyword-style'
- `define-record-printer' now handles SRFI-9 record types.
- The regex-libraries now allow the creation of precompiled regular
  expressions (new procedures `regexp' and `regexp?').

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, and 30.
- 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, FreeBSD,
  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]