[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] Chicken 1.89 has been released.
From: |
felix winkelmann |
Subject: |
[Chicken-users] Chicken 1.89 has been released. |
Date: |
Mon, 10 Jan 2005 23:53:30 +0100 |
The CHICKEN Scheme-to-C compiler, Version 1, Build 89 is now
available at <http://www.call-with-current-continuation.org>.
Things changed since the last release (1.66):
- Countless bugfixes
- chicken-setup:
* Added `-csc-option', `-dont-ask' and `-no-install' options
* chicken-setup and eggs are now basically usable on Windows systems
(for those extensions
that are portable)
- Runtime system:
* The assembly language hack required for calling procedures with
more than 126
arguments on x86 systems has been removed due to portability issues (so the
argument count limit also applies to x86 platforms)
* finalizer handling is much more efficient now
- Interpreter:
* Threads are not blocked in the REPL [using a neat hack originally
by Chris Double]
- Compiler:
* `usual-integrations' is now the default; the `-usual-integrations'
option has
been removed and `-no-usual-integrations' has been added (pass
this option to
the compiler or use declarations to enable redefinition of standard and/or
core library procedures)
* Declaration specifier `post-process'
- library unit:
* c-runtime
* fxand fxior fxxor fxnot fxshr fxshl
* `bitwise-...' and `arithmetic-shift' operations now accept inexact
integers when in
machine word range
- utils unit:
* shift! unshift!
- posix unit:
* memory-mapped-file? set-root-directory!
* The posix unit is now partially available on native Windows (MSVC) platforms
[many thanks to Sergey Khorev!]
- regex unit:
* `regexp' accepts optional arguments for case-insensitivity and
UTF8 awareness
(not fully supported on all systems) [Kindly contributed by Alex Shinn]
- FFI:
* C_post_gc_hook
* The C parser now supports in/out/in-out arguments with multiple
values and basic support
for structs and unions
- Reader:
* `#\xXX' character syntax
- SRFIs
* added SRFI-55
* removed last remnants of SRFI-22
- Numerous small improvements and corrections
Many thanks to Mark Baily, Jonah Beckford, Peter Bex, Fabian Boehlke,
Toby Butzon, Chris Double,
Daniel Goertzen, Johannes Groedem, Sven Hartrumpf, Sergey Khorev, John
Lenz, Micky Latowicki,
Brian Mastenbrook, Nicolas Pelletier, Christian Pohlmann, Psy-Kosh,
Eric Raible, Tim Reid,
Joel Reymont, Benedikt Rosenau, Lars Rustemeier, Alex Shinn, Michele
Simionato and Ed Watkeys
for their helpful contributions, suggestions and bug reports!
Features:
- Generates tail-recursive C with full support for first-class
continuations and multiple values (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, 8, 9, 10, 13, 14, 16, 18, 23, 25,
26, 28, 30, 37, 39 and 55.
- Record structures, hash-tables, queues, custom I/O ports, extended string
operations, regular expressions, Common LISP style `format', TCP sockets and
more...
- Provides an object system with multiple inheritance, multimethods and a
Meta-Object-Protocol (based on Gregor Kiczales' TinyCLOS).
- Lightweight threads (based on call/cc).
- High portability (known to work on Windows, Linux, Free/Net/Open BSD,
Solaris, SunOS, MAC OS X, HP-UX, IRIX and probably many more. Supported
processors include x86, AMD64, Sparc, PA-RISC, Alpha, ARM, IA64, S/390, MIPS
and PowerPC).
- Freely available under the BSD license.
- A POSIX interface.
- Powerful pattern matching macros.
- `syntax-case' macros and module system
- Generation of profiling information.
- A extensive 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 many 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 batch files.
Limitations:
- No unlimited-precision integers (bignums), rationals or complex numbers.
- No support for unicode.
- Procedures can not have more than 126 arguments.
- Compilation of large files is quite slow.
Extensions and libraries:
Check out <http://www.call-with-current-continuation.org/eggs/index.html>
for a rapidly growing list of readily packaged extensions for Chicken.
Currently available:
awk axst base64 bb binary-parse blas c3 complex crypt csv datatype
debug dissector
environments epeg ftp generalised-case gmp htmlprag html-stream http
irc iset iconv
inline japi lalr levenshtein loop mailbox make mapm md5 meroon
metakit miscmacros
mole ncurses oblist opengl pcap pmatch pop3 postgresql readline
regex-case rgraph
rss sandbox stream-cgi stream-ext structures schelog sdl sfio silex
smtp spiffy
spiffy-utils spread sqlite srfi-17 srfi-38 srfi-40 srfi-42 srfi-47
ssax tcc tcp-server
tcp6 tk udp update-egg url vector-lib xlib xml-rpc
The current development version can be accessed via the "darcs" revision control
system (available at http://abridgegame.org/darcs), like this:
$ darcs get http://chicken.humankraft.com/chicken
See the file README.darcs for details on how to bootstrap the system.
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] Chicken 1.89 has been released.,
felix winkelmann <=