source: project/chicken/branches/hygienic/NEWS @ 11528

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

fixes and improvements to setup modules

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