|
From: | Mark H Weaver |
Subject: | bug#15533: optimizing away noticeable effects |
Date: | Sat, 05 Oct 2013 16:45:59 -0400 |
User-agent: | Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Mark H Weaver <address@hidden> writes: > Ian Price <address@hidden> writes: > >> scheme@(guile-user)> ,optimize (define (foo f arg) >> (let* ((l '()) >> (m (if (pair? arg) >> (begin >> (set! l (cdr arg)) >> (car arg)) >> arg))) >> (lambda () (apply f m l)))) >> $14 = (define (foo f arg) >> (let ((m (if (pair? arg) >> (begin (begin (cdr arg) (if #f #f)) (car arg)) >> arg))) >> (lambda () (f m)))) > > I can confirm that the same thing happens on the stable-2.0 branch. Further investigation has revealed that 'peval' incorrectly removes the 'l' from the call to 'apply'. Mark
[Prev in Thread] | Current Thread | [Next in Thread] |