[Top][All Lists]
[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>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-users] Announcing: Chicken, Build 1082,
felix <=