source: project/chicken/branches/chicken-3/NEWS @ 13413

Last change on this file since 13413 was 13413, checked in by Jim Ursetto, 11 years ago

Restored srfi-18.scm to the latest revision, after fixing unbound variable references and %seconds->milliseconds bug.

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