source: project/chicken/trunk/NEWS @ 12112

Last change on this file since 12112 was 12112, checked in by Ivan Raikov, 13 years ago

Consolidated news items for 3.4.0 in trunk.

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