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 _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users