bug#39573: [3.0.0] Compiler fails to optimize out side-effect-free expression

2020-02-12 Thread Ludovic Courtès
Hello! Consider this loop: (let loop ((n (expt 2 18)) (i 1)) (unless (zero? n) (loop (- n 1) (logior 0 (ash i 1) Guile 2.2 strips away the computation of ‘i’ (it cannot throw, has no side effects, and the result is unused): --8<---cut here---

bug#39573: [3.0.0] Compiler fails to optimize out side-effect-free expression

2020-02-12 Thread Andy Wingo
On Wed 12 Feb 2020 12:50, Ludovic Courtès writes: > Hello! > > Consider this loop: > > (let loop ((n (expt 2 18)) > (i 1)) > (unless (zero? n) > (loop (- n 1) > (logior 0 (ash i 1) > > Guile 2.2 strips away the computation of ‘i’ (it cannot throw, has no >

bug#39586: pfds 0.3 hamt-fold crashes with guile-2.0 and guile-3.0

2020-02-12 Thread Rob Browning
With the current pdfs (https://github.com/ijp/pfds 454033f82dac7c0b0ea9e84eed1e8ed316487c78), the code below halts on an rnrs record assertion failure with both guile-2.2 and guile-3.0, and I'm wondering if I'm doing something wrong, if it might be a guile bug, or if it's more likely an issue wit