Path to this page:
Subject: CVS commit: wip/chicken-current
From: Aleksej Saushev
Date: 2009-04-07 12:04:34
Message id: E1Lr8Aj-000845-Ma@ddv4jf1.ch3.sourceforge.com
Log Message:
Update to Chicken 4.0.0 release.
Changes since 3.4.0:
- removed `apropos' and `apropos-list' from the "utils" library unit;
available as an extension
- removed texinfo and PDF documentation - this will possible be added back
later
- replaced PCRE regex engine with Alex Shinn's "irregex" regular expression
package
- removed `-extension' option
- removed `-static-extensions' csc option and added `-static-extension NAME'
- `regex' unit: removed `regexp*' and `regex-optimize'
- added `CHICKEN_new_finalizable_gc_root()'
- `length' checks its argument for being cyclic
- removed custom declarations and "link-options" and \
"c-options" declarations
- deprecated "-quiet" option to "chicken" program
- added "-update-db" option to chicken-install
- the compiler now suggests possibly required module-imports
- moved non-standard syntax-definitions into "chicken-syntax" library unit
- the pretty-printer prints the end-of-file object readably now
- alternative conditional execution paths have separate allocation computation
(previously the allocation of all alternatives was coalesced)
- removed unused "%kmp-search" from "srfi-13" library unit
- expander handles syntax-reexports and makes unexported syntax available
for exported expanders in import libraries
- added checks in some procedures in the "tcp" library unit
- the macro system has been completely overhauled and converted
to hygienic macros
- a macro-aware module system has been added
- added "-sx" option to csi
- removed the following deprecated functions:
[un]shift!
andmap ormap
byte-vector? byte-vector-fill!
make-byte-vector byte-vector
byte-vector-set! byte-vector-ref
byte-vector->list list->byte-vector
string->byte-vector byte-vector->string
byte-vector-length
make-static-byte-vector static-byte-vector->pointer
byte-vector-move! byte-vector-append!
set-file-position! set-user-id! set-group-id!
set-process-group-id!
macro? undefine-macro!
- the situation-identifiers "run-time" and "compile-time" have
been removed
- the compiler options "-check-imports", "-import" and \
"-emit-exports"
have been removed
- new procedures:
strip-syntax
expand
- new macros
define-syntax
module
export
- the following macros have been removed:
define-foreign-record
define-foreign-enum
define-macro
define-extension
- "local" mode, in which locally defined exported toplevel variables can
be inlined
- new options and declarations "[-]local", \
"[-]inline-global" and "-emit-inline-file"
- optimization levels changed to use inlining:
-optimize-level 3: enables -inline -local (but *not* -unsafe)
-optimize-level 4: enables -inline -local -unsafe
- increased default inlining-limit to 20
- support for cross-module inlining
- "make <VARIABLES> bench" runs the benchmark suite
- "chicken-setup" has been replaced by new command line tools
"chicken-install", "chicken-uninstall" and \
"chicken-status", which are
more flexible and allow greater freedom when creating local or application-
specific repositories
- extension-installation can be done directly from SVN repositories or a local
file tree
- enabled chicken mirror site as alternative download location
Files: