[plt-scheme] to define, or to let
Thanks. That is why I try to use let-lists instead of
define-statements. A compiler might also try to optimize
define-statements, but it seems that, in scheme, define-statements mean
something very specific. That is what I am trying to figure out.
BTW, using (time) and looping over the two functions shows that the let
form is about 10 percent faster than the define-form. Ie, it looks
like the compiler *is* smart.
rac
On Mar 18, 2004, at 9:58 PM, Zhu Chongkai wrote:
>
> Yes, a smart compiler will treat let without creating storage.
>
> For example:
>
> (let ((one-variable 3)
> (another-variable 4))
> (list one-variable another-variable))
>
> will first be converted to
>
> ((lambda (one-variable another-variable)
> (list one-variable another-variable))
> 3 4)
>
> and then the code will be further optimized to
>
> (list 3 4)
>
>
> regards,
> Zhu Chongkai