[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Compiler features soon to appear.

1) &optional (foo 69 foop) will work even if foop is special.

2) SUBSET and SUBSET-NOT will be open coded, like MAP, etc.

3) MAPs over subst-functions (such as defstruct component extractors)
 will be open-coded.

4) You can use SUBST instead of LAMBDA explicitly
 to cause the lambda-variables to be substituted away at compile time.
 It's up to you to make sure that this won't lose due to
 a) misordering of side-effects, or
 b) a lambda variable with the same name as a random
   non-variable symbol inside the body of the lambda.
 But, in trivial cases it's often clearly ok.
 One useful case is in a map:  (MAPCAR '(SUBST (X) (* X X)) ...)

5) Macros can be compiled with COMPILE.
 Macro definitions in files being compiled will be
 sent over compiled.