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

Last change on this file since 12021 was 12021, checked in by felix winkelmann, 13 years ago

merged trunk rev. 11636-12020. This should be the last merge before hygienic becomes the new trunk

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