source: project/chicken/trunk/NEWS @ 12596

Last change on this file since 12596 was 12596, checked in by felix winkelmann, 12 years ago

fixed import form check (handles aliasing); bumped version to 4.0.0x3

File size: 28.1 KB
Line 
14.0.0x3
2
3- removed custom declarations and "link-options" and "c-options" declarations
4- deprecated "-quiet"
5- added "-update-db" option to chicken-install
6
74.0.0x
8
9- the macro system has been completely overhauled and converted
10  to hygienic macros
11- a macro-aware module system has been added
12- added "-sx" option to csi
13- removed the following deprecated functions:
14   [un]shift!
15   andmap ormap
16   byte-vector? byte-vector-fill!
17   make-byte-vector byte-vector
18   byte-vector-set! byte-vector-ref
19   byte-vector->list list->byte-vector
20   string->byte-vector byte-vector->string
21   byte-vector-length
22   make-static-byte-vector static-byte-vector->pointer
23   byte-vector-move! byte-vector-append!
24   set-file-position! set-user-id! set-group-id!
25   set-process-group-id!
26- the situation-identifiers "run-time" and "compile-time" have
27  been removed
28- the compiler options "-check-imports", "-import" and "-emit-exports"
29  have been removed
30- new procedures:
31  strip-syntax
32  expand
33- new macros
34  define-syntax
35  module
36  export
37- the following macros have been removed:
38    define-foreign-record
39    define-foreign-enum
40    define-macro
41    define-extension
42- "local" mode, in which locally defined exported toplevel variables can
43  be inlined
44- new options and declarations "[-]local", "[-]inline-global" and "-emit-inline-file"
45- optimization levels changed to use inlining:
46  -optimize-level 3: enables -inline -local (but *not* -unsafe)
47  -optimize-level 4: enables -inline -local -unsafe
48- increased default inlining-limit to 20
49- support for cross-module inlining
50- "make <VARIABLES> bench" runs the benchmark suite
51- "chicken-setup" has been replaced by new command line tools
52  "chicken-install", "chicken-uninstall" and "chicken-status", which are
53  more flexible and allow greater freedom when creating local or application-
54  specific repositories
55- extension-installation can be done directly from SVN repositories or a local
56  file tree.
57- enabled chicken mirror site as alternative download location
58
593.4.0
60
61- Fixes to the MinGW build.
62- PCRE 7.7
63- Bug fix for bitwise-or use [Joerg Wittenberger]
64- Bug fix in thread-terminate! [thanks to Joerg Wittenberger]
65- Cygwin build patched to put the runtime libraries in the right place.
66  [thanks to Nathan Thern]
67- added support for out-of-tree compilation (via the SRCDIR variable)
68  [thanks to Ivan Shmakov]
69- bug fix for (string->number "/")
70- support for selective procedure profiling in the compiler
71- unit utils: moved file- and pathname-related procedures to unit files
72- new unit files
73
743.3.0
75
76- bug fix for bitwise-or use [Joerg Wittenberger]
77- bug fixes for tickets  393, 430, 436
78- bug fix pointer->address
79- the build system now sets the SONAME field of libchicken.so under Linux
80- fixed an allocation bug in decode_literal
81- some fixes to the build system when USE_HOST_PCRE is set
82- added use of unit ports to unit extras and chicken-setup
83- unit utils and extras: moved port extensions to unit ports
84- new unit ports
85
863.2.0
87
88- unit extras: moved lists, queues, strings to data-structures
89- new unit data-structures
90- unit library: symbol->string now copies its argument
91- chicken-setup: added option -svn-trunk
92- unit utils: added file-copy and file-move (request by the einit team)
93- unit srfi-69: added hash-table-clear!
94- unit srfi-69: new
95- unit extras: moved SRFI 69 to unit srfi-69
96
973.1.0
98
99- svnrevision.sh - cleaned logic to prevent invalid error message
100- csc - fixed bug preventing static linking of executables (build order issues)
101- unit regex: PCRE 7.6
102- unit regex: avoid string copy in regex matching [Jim Ursetto]
103- chicken-setup: eggs are downloaded to and compiled in a temporary
104  directory determined by CHICKEN_TMPDIR or TMPDIR environment
105  variables, or by -build-prefix and -download-dir options,
106  respectively; -destdir option is replaced with -install-prefix.
107- unit regex: PCRE 7.6
108- unit tcp: use of offset into string rather than substring for faster
109  socket write [Jim Ursetto]
110- MSVC can now be used to build the system, when standard UNIX tools (like
111  MSYS) are available [Many thanks to Ashley]
112- unit library: added "flonum-print-precision" for changing the default of
113  16
114- unit posix: create-directory can now handle DOS drive letters
115  in the given path
116- unit posix: added stat- predicates for file types
117- unit posix: added strftime format string support to "time->string"
118- unit posix: added "string->time", which takes a strptime format string
119  (Unix only)
120- unit extras: added "left-section", "right-section", "none?", "always?",
121  and "never?"
122- unit extras: added "hash-table-merge", "hash-table-map",
123  "hash-table-for-each", and extended "make-hash-table" with minimum/maximum
124  load & initial value
125- unit extras: added "eq?-hash", "eqv?-hash", "equal?-hash", "number-hash",
126  "symbol-hash", "keyword-hash", "##sys#number-hash-hook", and
127  "hash-by-identity" as a synonym for "eq?-hash"
128
1293.0.0
130
131- upgraded scheme-complete.el to version 0.6 [Thanks to Alex Shinn]
132- unit library: added "blob=?"
133- the library can optionally be built with an already installed libpcre
134- chicken-setup accesses a separate set of eggs, specific on the major CHICKEN
135  version (3)
136- added csi options "-p" ("-print") and "-P" ("-pretty-print")
137- support for Mac OS X universal binaries hase been added [Thanks to Zbigniew]
138- `cond-expand' is available in the set of core macros [Thanks to Alex Shinn]
139- On sparc64 architectures more than 126 procedure arguments are allowed
140  [Thanks to Peter Bex]
141- posix unit: "seconds->string" and "time->string" have now their trailing
142  #\newline character removed. THIS IS A BACKWARD-INCOMPATIBLE CHANGE.
143
1442.739
145
146- the SVN checkout can now be built from a bootstrapping tarball without
147  the need for a pre-installed "chicken" executable
148- literals are compiled in a platform-independent binary encoding into
149  the executable which results in faster C compile times and moe compact
150  binaries. This also makes the "compress-literals" option and declaration
151  unnecessary
152- the "-compress-literals" compiler option and the "compress-literals"
153  declaration have been removed
154- the CHICKEN_HOME environment variable is now obsolete, use CHICKEN_PREFIX
155  and possibly CHICKEN_REPOSITORY_PATH
156- added pre GC hook C-level variable
157- Cygwin is now fully supported
158- removed deprecated functions:
159  extension-info
160  print-backtrace
161  test-feature?
162  ___callback (chicken.h)
163  foreign-callback-lambda[*]
164  thread-deliver-signal!
165  critical-section
166  enable-interrupts
167  disable-interrupts
168  invalid-procedure-call-handler
169- There is no platform-dependent pathname directory separator
170  anymore, the slash ("/") and backslash ("\") characters can be
171  used interchangably
172- New procedures "regexp*", "regex-optimize" and "make-anchored-pattern"
173  (regex library unit)
174- New procedures "terminall-size", "terminal-name" and "get-host-name"
175  (posix library unit)
176- chicken-setup: can create repository catalog file from local
177  SVN checkout of egg repository
178- chicken-setup has the new option "-host-extension" to force
179  compiling extensions in "host" mode when using a cross-compiling
180  chicken
181- Better cross-development support for the build system (the
182  Makefile accepts various variables for customizing the build)
183- "file-size" and "file-stat" handle file-sizes of >4GB now
184- "find-files" collects directories as well, now [Thanks to Ivan Raikov]
185- added "dist" target to toplevel makefile
186- "andmap" and "ormap" have been deprecated
187- makefiles support relinking now
188- added "thread-wait-for-i/o!" (srfi-18 library unit)
189- the "chicken-bug" program can now be used to create bug reports
190  and send them to the CHICKEN maintainers
191
1922.717
193
194- New binary compatibility version (3) - installed eggs mst be recompiled!
195- deprecated "shift!" and "unshift!"
196- regex unit:
197  Uses PCRE 7.4
198- utils unit:
199  Uses compiled regular expressions
200- unit posix:
201  Uses compiled regular expressions
202- removed build option for extra symbol slot
203- added Lisp-style symbol property lists
204
2052.701
206
207- countless bugfixes and minor improvements
208- new foreign types:
209  [nonnull-]unsigned-c-string[*]
210  c-string-list[*]
211- added "unused" declaration specifier
212- new GNU Make based build process
213- libffi is not used anymore, handcoded assembler is used for x86, x86-64
214  and powerpc platforms
215- library unit:
216  blob?
217  make-blob
218  blob-size
219  string->blob
220  blob->string
221- regex unit:
222  glob?
223- utils unit:
224  directory-null?
225  port-fold
226- extras unit:
227  hash-table-remove!
228- lolevel unit:
229  mutate-procedure
230- srfi-4 unit:
231  XXXvector->blob[/shared]
232  blob->XXXvector[/shared]
233- csc options:
234  -cxx-name
235  -disable-compiler-macros
236- byte-vectors have been removed and replaced by new "blob" type,
237  added various blob<->SRFI-4 vector conversion procedures in srfi-4 unit
238- ":optional" has been renamed to "optional" (the old name is still
239  available but deprecated)
240- "switch" has been replaced by "select" ("switch" is still available but
241  deprecated)
242- "tcp-connect" and "tcp-accept" handle time-outs via parameters
243  "tcp-connect-timeout" and "tcp-accept-timeout"
244- tcp unit: support for read/write timeouts
245
246
2472.6
248
249- Many bugfixes
250- Better support for Sun's C compiler
251- Input-performance has been improved
252- PCRE (Perl compatible regular expressions) by Philip Hazel is now
253  bundled with CHICKEN
254- Static linking of extensions is now possible (when supported by
255  the egg)
256- The interpreter warns about references to potentially unbound variables
257  in loaded code and expressions entered on the REPL
258- The expansion process is traced during compilation and interpretation
259  to give (slightly) more usable syntactic context in error messages
260- library:
261  * added `any?`, `bit-set?' and `on-exit'
262- eval:
263  * new procedure `set-parameterized-read-syntax!'
264- posix:
265  * SRFI-17 setters for `file-position`, `current-user-id',
266    `current-group-id', `process-group-id'; the respective setter-procedures
267    are still available but have been deprecated
268  * `file-stat' returns more information (including device info)
269  * added `process*'
270- extras:
271  * added `read-string!'
272- utils:
273  * `apropos' and `apropos-list' procedures
274- srfi-4:
275  * added `read-u8vector', `read-u8vector!' and `write-u8vector'
276- srfi-18: 
277  * added `time->milliseconds' and `milliseconds->time'
278- csi:
279  * `-ss SCRIPTNAME' option
280- csc:
281  * accepts options given in the environment variable `CSC_OPTIONS'
282  * new options `-static-extensions' and `-host'
283- chicken/csc:
284  * new option `-keep-shadowed-macros'
285- chicken-setup:
286  * accepts options given in the environment variable `CHICKEN_SETUP_OPTIONS'
287  * allows retrieval and installation of eggs from subversion repository
288    and the local filesystem
289  * new options `-tree FILENAME', `-svn', `-local', `-revsion' and
290    `-destdir PATHNAME'
291  * added helper procedures `required-chicken-version' and
292    `required-extension-version'
293- Lots of improvements in the CMake build
294
295Many thanks to Ingo Bungener, Peter Busser, John Cowan, Marc Feeley,
296Stephen Gilardi, Mario Domenech Goulart, Joshua Griffith, Sven
297Hartrumpf, Daishi Kato, mejedi, Dan Muresan, Deanna
298Phillips, Robin Lee Powell, Ivan Raikov, Danial Sadilek, Alex Shinn,
299Tony Sideaway, Minh Thu for reporting bugs, suggesting improvements
300and contributing fixes.
301
302Thanks again to Brandon Van Every for his extensive work on the CMake
303build process.
304
305Special thanks to Kon Lovett for many improvements made in the posix
306library.
307
308
3092.5
310
311- Bugfixes
312- CHICKEN can now be built using CMake <http://www.cmake.org>, in fact CMake
313  is required to built CHICKEN from sources on Windows with the Microsoft
314  tools
315- the whole build process has been cleaned up and simplified
316- the "easyffi" and "tinyclos" library units have been removed from the base
317  system and are now available as separate extensions
318- the deprecated "set-dispatch-read-syntax!" has been removed
319- Will Farr cleaned up the behaviour of number-type specific numeric operations
320  ("fx..."/"fp...") with respect to safe/unsafe mode
321- added "(finite? NUMBER)"
322- the "$" macro moved into its own separate extension
323- the values of "software-type", "software-version", "machine-type" and "machine-byte-order"
324  are now registered as features and can be tested using "cond-expand" or "#+"
325- all tools now support the "-release" option
326- chicken-setup: added "-test" option
327
328Special thanks to Brandon Van Every, who put considerable effort into the
329CHICKEN build system and who ported it to CMake completely from scratch.
330The installation instructions and build file are extensively documented and may
331serve as a tutorial for creating non-trivial software projects with CMake.
332Thanks, Brandon! Also thanks to Bill Hoffmann and Brad King from Kitware
333for their support.
334
335Many thanks to Peter Bex, Toby Butzon, Thomans Chust, John Cowan, Alejandro Forero Cuervo,
336dgym, Alex Drummond, Mario Domenech Goulart, Kon Lovett, Benedikt Rosenau and Zbigniew
337Szadkowski for reporting bugs, suggesting improvements and contributing fixes.
338
339
3402.41
341
342- Bugfixes galore
343- compiler:
344  * added support for the generation of "export" files through the "-emit-exports" option
345  * new option `-check-imports' (csc: `-G') checks for unimported symbols and can be quite
346    helpful in finding unbound variable errors (this requires all extensions ("eggs") to be
347    adapted to this new feature, a process which isn't complete yet)
348  * new declarations `emit-exports', `constant' and `import'
349  * new option `-disable-warning' and declaration `disable-warning'
350  * new options `-release' and `-import'
351- chicken-setup:
352  * new `exports' extension property
353  * option `-check' checks for extension upgrades
354  * added `-eval' option
355  * added parameters `setup-install-flag' and `setup-verbose-flag'
356- FFI:
357  * added the handy `$' macro, which lets you do foreign calls directly without declaring
358    a placeholder procedure
359  * `define-foreign-enum' for treating C enums as symbol-sets
360  * `foreign-safe-wrapper' has been deprecated
361- Slight reorganization of TinyCLOS and match macros and support code
362- `thread-join!' has been generalized to allow a thread to have multiple results
363- Renamed `thread-deliver-signal!' to `thread-signal!' and `invalid-procedure-call-handler'
364  to `set-procedure-call-handler!'
365- The system can be configured to add an extra slot to symbol objects
366- Another configuration option enables GC of unused symbols by default
367- The extension repository is now versioned to catch binary incompatible
368  installations, this requires to either move all installed extensions to the
369  new location ("$prefix/lib/chicken/1") or reinstall them
370- Now supports SRFI-61 (extended `cond')
371- Added procedures `load-relative', `tcp-buffer-size`, `string-chomp'
372- trivial implementations of `real-part', `imag-part', `angle' and `magnitude' have
373  been added to the library to allow more portable code
374- Breakpoints and single-stepping of compiled code on the function-level, new
375  procedures `breakpoint' and `singlestep'
376- csi: new toplevel commands `,info', `,step', `,br', `,ubr', `,breakall', `,breakonly',
377  `,exn' and `,c'
378- csi: `set-describer!' allows definition of custom output for the `,d' command
379- Added `integer64' foreign type specifier
380- The environment variable "CHICKEN_PREFIX" allows (together with "CHICKEN_REPOSITORY") overriding
381  the installation path prefix in case you want to install and run multiple instances/versions
382  of CHICKEN or install on a shared network
383- csc: added `-dry-run' option
384- removed `-split...' options (and the ability to generate multiple C files from a single
385  Scheme file)
386- `crictical-section', `disable-interrupts' and `enable-interrupts' shouldn't be used from
387  now on (deprecated), use SRFI-18 mutexes instead
388
389Many thanks to Nico Amtsberg, Arto Bendiken, Jean-Francois Bignolles, Peter Busser, Thomas Chust,
390John Cowan, Alejandro Forero Cuervo, Jaarod Eells, Brandon van Every, Graham Fawcett, Mario Domenech
391Goulart, Sven Hartrumpf, Markus Hülsmann, Goetz Isenmann, Heath Johns, Daishi Kato, Kon Lovett, Dan
392Muresan, Ian Oversby, Göran Weinholt, Burton Samograd, Reed Sheridan, Alex Shinn, Sunnan, Zbigniew
393Szadkowski and Peter Wright for their helpful contributions, suggestions and bug reports!
394
395
3962.3
397
398- Many many bugfixes
399- compiler:
400  * new option `-profile-name FILENAME'
401- the `chicken-config' script has been removed, identical functionality can be provided
402  by `csc'
403- csc:
404  * new option `-objc' compiles generated C files in Objective-C mode
405  * accepts .m files and handles the case when only object files are given
406  * new options `-framework', `-F<dir>' and `-rpath'
407  * options `-home', `-cflags', `-ldflags', `-libs', `-cc-name' and `-ld-name'
408- chicken-setup:
409  * detects whether eggs are gzipped or not and accepts ungzipped eggs
410  * if no other actions are specified and no eggs are given on the command line, then
411    all .setup scripts in the current directory are executed
412  * added `setup-build-directory' and `setup-root-directory' parameters
413  * helper procedures `copy-file', `move-file', `remove-file' and `create-directory'
414- csi commands `,s', `,l' and `,ln' accept multiple inputs, the `trace'/`untrace'
415  macros have been replaced byy the toplevel commands `,tr' and `,utr'
416- new toplevel commands in csi can be defined with the `toplevel-command' procedure
417- `extension-info' has been renamed to `extension-information'. The old name is
418  still available, but deprecated
419- `print-backtrace' has been renamed to `print-call-chain'. The old name is still
420  available (and deprecated)
421- `transcript-on' and `transcript-off' are no longer supported
422- New macro `define-for-syntax'
423- library:
424  (get-call-chain [DEPTH])
425  (current-read-table)
426  (copy-read-table READ-TABLE)
427  (current-gc-milliseconds)
428  `print-error-message' writes now to the current output-port, not the error port
429  `number-string' does now a slightly better job converting large exact integers
430  with non-decimal base
431- extras:
432  (each PROC ...)
433  `hash-table-ref' throws (exn access) on error
434- posix:
435  (local-time->seconds TIME)
436  (utc-time->seconds TIME)
437  (local-timezone-abbreviation)
438  `directory' takes optional path and dotfiles arguments
439  `[group|system]-information' return lists instead of multiple values
440- tcp:
441  (tcp-port-numbers PORT)
442- `set-dispatch-read-syntax!' has been renamed to `set-sharp-read-syntax!' (the old
443  name is still available but deprecated)
444- evaluated code generates call-trace information (as compiled code does), which
445  results in much better back-traces.
446- new foreign types `[unsigned-]int32' and `[unsigned-]integer32'
447- added SRFI-17 setters for many accessors of the core libraries
448- tinyclos: added a couple of missing classes for core library structures
449- `let[*]-values' is now SRFI-11 compliant
450- the finalizer-table is now resized dynamically, which speeds up code that uses
451  very many finalizers [Thanks to Zbigniew Szadkowski]
452- reloading compiled code dynamically does basically work (but still leaks memory)
453- the manual contains a section on pattern matching
454- libffi is used by default, when available
455- CHICKEN has now experimental support for the "CMake" build system <http://www.cmake.org>
456  Many thanks to Bill Hoffmann from Kitware and Brandon van Every for helping with this
457- added compiler/runtime support for object serialization via the `s11n' extension
458  (see <http://www.call-with-current-continuation.org/eggs/s11n.html>)
459
460Sergey Khorev has offered to help with maintaining the Windows port of CHICKEN.
461Thanks, Sergey!
462
463Many thanks Jean-Francois Bignolles, Patrick Brannan, Adam Buchbinder, Hans Bulfone, Category 5,
464John Cowan, datrus, Guillaume Germaine, Mario Domenech Goulart, Daniel B. Faken, Andrey Fomichev,
465Jarod Eells, Sven Hartrumpf, David Janssens, Daishi Kato, Levi Pearson, Pupeno, Eric Raible, Benedikt
466Rosenau, Reed Sheridan, Zbigniew Szadkowski and Mark Wutka for their helpful contributions,
467suggestions and bug reports!
468
469Special thanks to Kon Lovett for fixing countless open issues and many useful sugestions.
470
471
4722.2
473
474- Many bugfixes
475- The read-syntax `#+X Y' is provided as a shorthand for `(cond-expand (X Y) (else))'
476- `foreign-parse' and `foreign-parse/spec' have been removed
477- lolevel: Executable byte-vector stuff has been removed
478- SRFIs 28, 31, 62 and 69 are now officially supported
479- New compiler option `-extension' simplifies static compilation of eggs
480- csc: changed `-E' to `-P', `-E' is now an alias for `-extension'
481- Embedding:
482  * All the `entry-point' related things have been removed, as has been `define-embedded',
483    calling Scheme from C is now exclusively done with callbacks
484  * Integrated boilerplate embedding API into the `eval' unit
485  * Added `CHICKEN_continue' API function
486  * Default "stub" toplevel (`CHICKEN_default_toplevel') allows embedding without a
487    separate Scheme file
488  * Different stack-levels during invocation of CHICKEN_run or callbacks could result
489    in crashes - this is now detected (or can be checked manually)
490- Added extension-specifier `(version ...)'
491- New FFI macros `foreign-declare', `foreign-parse' and `foreign-parse/declare' replace
492  the declaration-specifiers of the same name
493- Hash-table resizing was ridiculously slow, and should now be much faster
494- `define-foreign-record' handles recursive structures
495- `require-extension' is now available by default, and so can be used with the
496  plain Scheme evaluator
497- Procedures now contain some basic debug information, unless a file was compiled
498  with `-no-lambda-info'
499- compiler: `-debug-level 2' is now the default (enables trace- and lambda-info)
500- chicken-setup:
501  * handles direct downloads from arbitrary URLs
502  * HTML documentation for eggs can now be included into the egg and will be installed
503    in the repository (using the `documentation' info-property)
504  * `chicken-setup -docindex' shows path of generated documentation index for all
505    installed eggs
506- extras:
507  * SRFI-69 is now fully supported, note that THIS WILL BREAK EXISTING CODE, since
508    the API is not compatible to the previous one
509  * `clear-hash-table!', `get' and `put!' are gone
510  * `read-file' accepts optional reader procedure and max count
511  * `read-lines' accepts filename instead of port
512- library:
513  * `signum' is now exactness-preserving
514  * `procedure-information' returns some basic debug info for a given procedure
515  * Added `(warning MESSAGE ARGUMENTS ...)'
516  * `(promise? X)'
517- posix:
518  * `(current-directory DIR)' is equivalent to `(change-directory DIR)'
519- regex:
520  * `pattern->regexp' has been renamed to `glob->regexp'
521- The `format' library unit has been removed from the base system and is noww available
522  separately
523- SRFI-17, on the other hand has been moved into the base system
524- String literals and the print-names of symbol literals are now allocated in static
525  (non-GC'd) memory
526- If static or shared build is disabled, no `...-static' executables will be generated
527
528
529Many thanks to Ashley Bone, Thomas Chust, John Cowan, Alejandro Forero Cuervo, Daniel Faken, Sven
530Hartrumpf, Daishi Kato, Sergey Khorev, Kon Lovett, Gene Pavlovsky, Reed Sheridan and Ed Watkeys for
531their helpful contributions, suggestions and bug reports!
532
533
5342.0
535
536- Many bugfixes
537- Loads of minor improvements (better error messages, more warnings, more error
538  checks, etc.)
539- On systems supported by the "libffi" library, the 128-argument limit can
540  be exceeded (currently to an arbitrary maximum of 1000). To take advantage
541  of this, add `--with-libffi' to the configuration options when building
542  chicken
543- The `libsrfi-chicken' and `libstuffed-chicken' libraries have been folded
544  into `libchicken', so only a single library is linked with generated
545  executables, which greatly simplifies and speeds up the build process.
546  It is recommended to remove any traced of `libstuffed-chicken.*' and
547  `libsrfi-chicken.*' before installing a new release. This requires also
548  to reinstall all eggs (extension libraries).
549- The compiler is able to inline more procedure calls
550- Implicit non-multival continuations (like in `begin' or 'let') accept multiple
551  values and discard all but the first value
552- finalization should actually work now and is much more efficient (unless
553  used excessively)
554- csi:
555  `advise' has been removed
556  `-eval' implies `-batch' and `-quiet'
557  added `-require-extension'
558  short option names are now supported and may be collapsed, if unambigous
559- New runtime options:
560  -:b (enter REPL on error)
561  -:B (ring bell on every major GC)
562  -:fNNN (set pending finalizer maximum limit)
563- New compiler options:
564  -accumulate-profile
565  -inline
566  -inline-limit
567  -emit-external-prototypes-first
568- The compiler-option `-require-for-syntax' has been renamed to `-require-extension'
569  and is the same as putting a `(require-extension ...)' form directly into the code
570- Removed compiler- and interpreter option `-no-feature'
571- New declarations:
572  (lambda-lift)
573  ([not] inline)
574  (inline-limit LIMIT)
575  (emit-external-prototypes-first)
576  ([not] check-c-syntax)
577- `foreign-callback-lambda[*]' has been renamed to `foreign-safe-lambda[*]' - the
578  old names are still valid but deprecated
579- New foreign type specifier `scheme-pointer' (the same as `pointer', which is
580  deprecated now)
581- Easy FFI:
582  `___scheme_pointer' and `___byte_vector' pseudo types
583  `___pointer' and `___length' markers
584  `default_renaming' and `opaque' pseudo declarations
585  `___inout' and `___out' argument markers work also for C++ reference types
586  Recognizes `C_word' and `size_t'
587- The reader supports selective case sensitive/insensitive reading using the
588  `#cs...' and `#ci...' syntax (as supported in PLT Scheme)
589- `\uXXXX' and `\UXXXXXXXX' escape-sequences for string literals
590- `#\UXXXXXXXX' character literal syntax
591- `\v', `\a' and `\f' escape sequences and `#\delete', `#\esc', `#\alarm', `#\vtab'
592  and `#\nul' character literals
593- `chicken-setup' supports proxy connections via the `-proxy' option
594- library:
595  (set-dynamic-load-mode! MODE)
596  `(end-of-file)' has been removed (use `#!eof' instead)
597- The alternative continuation API described in Marc Feeley's paper
598  "A better API for first class continuations" is supported natively:
599  (continuation-capture PROC)
600  (continuation-graft K THUNK)
601  (continuation-return K VALUE ...)
602  (continuation? X)
603- `foreign-primitive' and `define-extension' macros
604- tinyclos:
605  (instance-of? X)
606  `define-method' specializes on all arguments and allows DSSSL keyword argument lists
607- eval:
608  (set-dispatch-read-syntax! CHAR PROC)
609- extras:
610  (hash-table-update! HT KEY PROC INIT)
611  (hash-table-exists? HT KEY)
612  (hash-table-values HT)
613  (hash-table-keys HT)
614  (alist->hash-table ALIST [TEST SIZE])
615  `hash-table->list' has been renamed to `hash-table->alist
616  `hash-table-for-each' takes the arguments in reversed order (the old order is still
617  valid but deprecated)
618  Hash-tables support now user-defined hash functions
619- posix:
620  (file-link OLD NEW)
621  (symbolic-link? FILENAME)
622  (regular-file? FILENAME)
623  errno/exist
624  `process' and `process-execute' allow passing an environment
625- regex:
626  (regexp-escape STR)
627- tcp:
628  (tcp-listener-fileno LISTENER)
629- utils:
630  (port-for-each FN THUNK)
631  (port-map FN THUNK)
632- On Windows, the batch file `win-install.bat' can be used to install the system
633  into the desired location
634- Building Chicken on Windows with the free development tools from Microsoft (VCToolkit,
635  Platform Core SDK) has been tested and is documented in the file `vctk-install.txt'
636- The `-script-meta' option has been removed
637- The srfi-25 and srfi-37 library units and the test-infrastructure facility have been
638  removed from the core system and is now separately available as an extensions (eggs)
639- The syntax-case macro and module system has been removed and also available as an
640  extension. This implies that all compiler- and interpreter options related to hygienic
641  macros and syntax-case are gone as well.
642- All strictness compiler- and interpreter options (and the `strict-reader' parameter)
643  have been removed
644- the `examples' directory and its contents have been removed from the distribution
645 
646
647Many thanks to William Annis, Mark Baily, Peter Bex, Dominique Boucher, Patrick Brannan,
648Thomas Chust, Alejandro Forero Cuervo, Graham Fawcett, Damian Gryski, Sven Hartrumpf,
649Hans Huebner, Christian Jaeger, Dale Jordan, Daishi Kato, Sergey Khorev, Krysztof Kowalczyk,
650Goran Krampe, John Lenz, Kon Lovett, Scott G. Miller, Julian Morrison, Nicolas Pelletier,
651Carlos Pita, Benedikt Rosenau, Andreas Rottmann, Reed Sheridan, Alex Shinn, Andrey Sidorenko,
652Michele Simionato, Volker Stolz, Sunnan, Zbigniew Szadkowski, Andre van Tonder, Henrik
653Tramberend and Mark Wutka for their helpful contributions, suggestions and bug reports!
Note: See TracBrowser for help on using the repository browser.