[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15533: optimizing away noticeable effects
From: |
Ian Price |
Subject: |
bug#15533: optimizing away noticeable effects |
Date: |
Sat, 05 Oct 2013 20:27:55 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) |
I was peeved today to come across a bug that manifested itself when I
removed a pk from a particular value in my code.
Time to play "spot the difference"
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))))
scheme@(guile-user)> ,optimize (define (foo2 f arg)
(let* ((l '())
(m (if (pair? arg)
(begin
(set! l (cdr arg))
(car arg))
arg)))
(lambda () (apply f m (pk l)))))
$15 = (define (foo2 f arg)
(let* ((l '())
(m (if (pair? arg)
(begin (set! l (cdr arg)) (car arg))
arg)))
(lambda () (apply f m (pk l)))))
and if you actually define those procedures and run them
scheme@(guile-user)> ((foo list '(a b c)))
$16 = (a)
scheme@(guile-user)> ((foo2 list '(a b c)))
;;; ((b c))
$17 = (a b c)
I'm currently on the lua branch, which means branches from master at
6871327742d3e1a0966aa8fed04c911311c12c2a (Aug 31). I'll try on a more
recent master or stable when I have time.
--
Ian Price -- shift-reset.com
"Programming is like pinball. The reward for doing it well is
the opportunity to do it again" - from "The Wizardy Compiled"
- bug#15533: optimizing away noticeable effects,
Ian Price <=
- bug#15533: optimizing away noticeable effects, Mark H Weaver, 2013/10/05
- bug#15533: optimizing away noticeable effects, Mark H Weaver, 2013/10/05
- bug#15533: optimizing away noticeable effects, Mark H Weaver, 2013/10/06
- bug#15533: optimizing away noticeable effects, Mark H Weaver, 2013/10/06
- bug#15533: optimizing away noticeable effects, Ian Price, 2013/10/07
- bug#15533: optimizing away noticeable effects, Ian Price, 2013/10/08
- bug#15533: optimizing away noticeable effects, Ian Price, 2013/10/23