chicken-users
[Top][All Lists]
Advanced

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

[Chicken-users] Chicken 2.2


From: felix winkelmann
Subject: [Chicken-users] Chicken 2.2
Date: Sun, 25 Sep 2005 17:00:20 +0200

Hello!


The CHICKEN Scheme-to-C compiler, Version 2.2 is now
available at <http://www.call-with-current-continuation.org>.


Things changed since the last release (2.0):

- Many bugfixes
- The read-syntax `#+X Y' is provided as a shorthand for `(cond-expand
(X Y) (else))'
- `foreign-parse' and `foreign-parse/spec' have been removed
- lolevel: Executable byte-vector stuff has been removed
- SRFIs 28, 31, 62 and 69 are now officially supported
- New compiler option `-extension' simplifies static compilation of eggs
- Embedding:
  * All the `entry-point' related things have been removed, as has
been `define-embedded',
    calling Scheme from C is now exclusively done with callbacks
  * Integrated boilerplate embedding API into the `eval' unit
  * Added `CHICKEN_continue' API function
  * Default "stub" toplevel (`CHICKEN_default_toplevel') allows
embedding without a
    separate Scheme file
  * Different stack-levels during invocation of CHICKEN_run or
callbacks could result
    in crashes - this is now detected (or can be checked manually)
- Added extension-specifier `(version ...)'
- New FFI macros `foreign-declare', `foreign-parse' and
`foreign-parse/declare' replace
  the declaration-specifiers of the same name (which still work, but
are deprecated)
- Hash-table resizing was ridiculously slow, and should now be much faster
- `define-foreign-record' handles recursive structures
- `require-extension' is now available by default, and so can be used with the
  plain Scheme evaluator
- Procedures now contain some basic debug information, unless a file
was compiled
  with `-no-lambda-info'
- compiler: `-debug-level 2' is now the default (enables trace- and lambda-info)
- chicken-setup:
  * handles direct downloads from arbitrary URLs
  * HTML documentation for eggs can now be included into the egg and
will be installed
    in the repository (using the `documentation' info-property)
  * `chicken-setup -docindex' shows path of generated documentation
index for all
    installed eggs
- extras:
  * SRFI-69 is now fully supported, note that THIS WILL BREAK EXISTING
CODE, since
    the API is not completely compatible to the previous one
  * `clear-hash-table!', `get' and `put!' are gone
  * `read-file' accepts optional reader procedure and max count
  * `read-lines' accepts filename instead of port
- library:
  * `signum' is now exactness-preserving
  * `procedure-information' returns some basic debug info for a given procedure
  * (warning MESSAGE ARGUMENTS ...)
  * (promise? X)
- posix:
  * (current-directory DIR) is equivalent to (change-directory DIR)
- regex:
  * `pattern->regexp' has been renamed to `glob->regexp'
- The `format' library unit has been removed from the base system and
is now available
  separately
- SRFI-17 (Generalized set!), on the other hand has been moved into
the base system
- String literals and the print-names of symbol literals are now
allocated in static
  (non-GC'd) memory
- If static or shared build is disabled, no `...-static' executables
will be generated


Many thanks to Ashley Bone, Thomas Chust, John Cowan, Alejandro Forero
Cuervo, Daniel Faken, Sven
Hartrumpf, Daishi Kato, Sergey Khorev, Kon Lovett, Gene Pavlovsky,
Reed Sheridan and Ed Watkeys for
their helpful contributions, suggestions and bug reports!


cheers,
felix




reply via email to

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