From cph at zurich.ai.mit.edu Fri Mar 15 14:45:01 2002 From: cph at zurich.ai.mit.edu (Chris Hanson) Date: Sat Dec 3 00:52:12 2005 Subject: [info-cscheme] MIT Scheme 7.7.0 is released Message-ID: MIT Scheme 7.7.0 is released. The release notes follow. As usual, this is available at http://www.swiss.ai.mit.edu/projects/scheme/mit/ * Release 7.7.0 provides "hygienic" macro support, as defined in R^4RS and R^5RS. This is a complete rewrite of the syntax engine, so any program that uses macros should be rewritten to use the new engine. A subset of the old macro-definition syntax is still supported, but this will eventually be removed. Note that the new syntax engine has no effect on the compiled-code format; most binaries compiled by release 7.6.x should continue to work. There are several user-visible consequences to this change: * These syntactic keywords have been eliminated: define-macro, in-package, macro, make-environment, scode-quote, unassigned?, and using-syntax. * The syntactic keyword the-environment has been restricted to use in top-level environments. It is no longer allowed in the body of any binding form (e.g. lambda, let). * Syntactic keywords are now stored in environments, rather than in a separate syntax-table structure. The environment abstraction has been enhanced to support this, as well as to make it more general. The changes are documented in the reference manual. * The syntax-table abstraction has been eliminated, and most procedures and arguments involving syntax tables have been removed. One exception is the load procedure, which still accepts a syntax-table argument, but ignores it. * Although the 7.6.1 release had a workaround for problems with certain AMD Athlon processors, the workaround was ineffective on machines running Windows operating systems (and possibly OS/2 systems as well). This version fixes that problem. * The hash-table abstraction is now always loaded. It's not necessary to call load-option prior to use of hash tables. For upwards compatibility, calling `(load-option 'hash-table)' is still permitted but does nothing.