[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] Some simplification rules for nested ##cor
From: |
megane |
Subject: |
Re: [Chicken-hackers] [PATCH] Some simplification rules for nested ##core#inline forms |
Date: |
Mon, 16 Sep 2019 10:28:22 +0300 |
User-agent: |
mu4e 1.0; emacs 25.1.1 |
Peter Bex <address@hidden> writes:
> On Wed, Sep 04, 2019 at 11:59:31AM +0200, address@hidden wrote:
>> The attached patch adds two optimization rules for certain uses of
>> ##core#inline. It basically rewrites
>>
>> (let ((<var> (##core#inline ...)))
>> (<kont> ... <var> ...))
>>
>> into
>>
>> (<kont> ... (##core##inline ...) ...)
>
> It looks like there's a problem caused by this:
>
> https://salmonella-freebsd-x86-64.call-cc.org/master/clang/freebsd/x86-64/2019/09/16/salmonella-report/install/uri-generic.html
>
> uri-generic uses matchable, which presumably generates a lot of
> code which looks like it should fit the pattern.
>
Here's a simplified version that does the OOM here:
(module uri-generic
(uri-relative-from)
(import scheme)
(define (uri-relative-from uabs base)
(dif-segs-from uabs base))
(define (dif-segs-from sabs base)
(if (null? base)
sabs
(dif-segs-from sabs base))))