Skip to content
Commit 6f71ed4e authored by Raymond Toy's avatar Raymond Toy
Browse files

First cut at trying to lift some variable initializations into the

enclosing LET.

Basically, we look for something like

(let (out-1 out-2)
  (setq out-1 <init-1>)
  (setq out-2 <init-2>)
  <stuff>)

and try to convert that to

(let ((out-1 <init-1>) (out-2 <init-2>))
  <stuff>)

right after series has completed all of the macroexpansions it wants.

Because this may be buggy, you can enable this feature by setting
*lift-out-vars-p* to T.  It defaults to NIL.

Note:  this can cause CMUCL sometimes to produce a compile warning
that constant folding failed.  (Often caused by trying to compute
array-total-size of a known constant list.)
parent bc2bbed8
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment