Skip to content
Commit 2c6f3333 authored by Raymond Toy's avatar Raymond Toy
Browse files

Here are the changes that Fernando made. I (RLT) don't claim to

understand everything that was changed or why.

1. Removed 1 redundant eval-when
2. Sorted functions so that it can be loaded w/o `undefined function'
   warnings.
3. Added inline declarations for all functions called from a single
   site.
4. Sorted functions so that inlining will work even if a compiler does
   not inline forward references to functions defined in the same
   file.
5. Setup eval-when's so that it can be compiled w/o having to load the
   source first.
6. Simplified redundant (OR NULL T) to T
7. Simplified redundant #'(lambda (x) (foo x)) to #'foo where foo is a
   function.
8. Fixed so it won't complain when LispWorks adds
   CLOS::VARIABLE-REBINDING declarations after CLOS macro
   transformations (general support provided via the constant
   allowed-generic-opts).
9. Added support for MACROLET on LispWorks (necessary because of CLOS
   macro transformations).
10. Only declare variables as (OR foo NULL) on implementations that
    won't allow to store NIL otherwise (currently, only CMUCL).
11. Added specialization to series declarations (eg: (SERIES FIXNUM)).
12. Do more precise type propagation in PRODUCING forms.
13. Allow `SETF like SETQ' in PRODUCING forms.
14. Added COLLECT-PRODUCT.
15. Extended SETQ-P to take into account multiassignments (not used
    yet). This should still be trivially generalized to support PSETQ
    and SETF, BTW.
16. Added DEFTYPE for GENERATOR so that LispWorks and CMUCL won't
    complain "because it's not a list" (IT IS!!)
17. Replaced PROCLAIMS with DECLAIMS.
18. Replaced DEFVARs with DEFCONSTANTs where appropriate.
19. Removed function namespace pollution by defS-generated code.
parent cb0b6eaf
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment