From: Christian Kellermann <ck...@pestilenz.org>
Subject: Re: [Chicken-hackers] [PATCH] clustering
Date: Sun, 6 Nov 2011 12:46:36 +0100

> * felix winkelmann <fe...@call-with-current-continuation.org> [111027 11:18]:
>> The attached patch adds an optimization (originally suggested by
>> chairman shinn), which turns groups of local procedures into "dispatch
>> loop". This can give good performance improvements in tight code that
>> performs no (or few) CPS calls. Currently it is not enabled by
>> default, but will probably later be enabled for optimization levels 2
>> and higher.
> 
> The patch looks fine to me. However I found this part:
> 
> diff --git a/support.scm b/support.scm
> index 28c950b..444504d 100644
> --- a/support.scm
> +++ b/support.scm
> @@ -618,7 +619,11 @@
>         ((##core#closure)
>          `(##core#closure ,params ,@(map walk subs)) )
>         ((##core#variable) (car params))
> -       ((quote) `(quote ,(car params)))
> +       ((quote)
> +        (let ((c (car params)))
> +          (if (or (boolean? c) (string? c) (number? c) (char? c))
> +              c
> +              `(quote ,(car params)))))
>         ((let)
>          `(let ,(map list params (map walk (butlast subs)))
>             ,(walk (last subs)) ) )
> 
> Is this an optimisatoin that has sneaked in behind your back? If
> so, I will commit it separately. If it is necessary for the patch
> to work, I am all ears to hear about it.
> 

It's a small change to the translation of the internal node tree back
to s-expressions (mainly for debugging and error output). This change
omits unnecessary quotes in the output. I probably should have made
this a different patch, but I was too lazy.


cheers,
felix

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to