home *** CD-ROM | disk | FTP | other *** search
-
- Local declarations are now supported. You can say:
- (defun foo (a b)
- (declare (special a))
- ... body ...)
-
- and the special declaration for 'a' will affect the body of function
- foo only. The 'a' which is an argument to foo will also be special
- in this case. Declarations may be
- 1) at the top level, not within a function body.
- 2) at the beginning of a 'lambda' body.
- 3) at the beginning of a 'prog' body
- 4) at the beginning of a 'do' body.
-
- 'the beginning' means either the first, second or third form in the body.
- When the compiler is searching for declarations, it will not macroexpand.
-
-
- Fixnum declarations now have meaning. If you do
- (declare (fixnum i j))
- then
- (greaterp i j) will be converted to (>& i j)
-
- The declare function is now defined in the compiler. Previously,
- the only way to declare something was for the compiler to 'compile'
- the declaration form. Now, if you load or fasl in a file with
- a declare statement in it, the declare statement will have the
- proper effect in the compiler.
-
-
- (function (lambda () ...)), (function (nlambda () ...)) and
- (function (lexpr () ...)) are all supported.
-
-
-
-