IRC channel logs

2025-08-10.log

back to list of logs

<chrislck>sneek:botsnack
<chrislck>sneek: botsnack
<sneek>:)
<sham1>Need to be more sneeky than that
<vbramselaar>dsmith: I had emacs already from the backports :)
<Arsen>ACTION uses trunk emacs on gentoo
<cow_2001>(use-modules (sxml ssax)) and then (sxpath '()) => ;;; <stdin>:21:1: warning: possibly unbound variable `sxpath'
<cow_2001>what gives? O_O
<cow_2001>confusion will be my epitaph
<ieure>cow_2001, (use-modules (sxml xpath))
<cow_2001>oh
<cow_2001>i dum
<cow_2001>wait a minute
<cow_2001>i don't see it mentioned anywhere in this manual
<cow_2001>3.0.9 version C-s sxml xpath C-s C-s C-s => nothing!
<cow_2001>probably outdated?
<ieure>cow_2001, No idea. I looked at the source.
<cow_2001>no, 3.0.9 is the latest
<cow_2001>latest stable, at least
<cow_2001>ieure: thank you!
<cow_2001>something's wrong in the manual then!
<identity>3.0.10 is latest stable, but iirc it had some problems with 32-bit architectures, so it is not in Guix
<dsmith>rg reveals sxpath is in (sxml xpath)
<dsmith>(use-modules (sxml xpath)) (sxpath '())
<dsmith>$1 = #<procedure 7f4d07687d40 at sxml/xpath.scm:453:2 (nodeset)>
<ttz>Hi, does Guile really perform JIT compulation? is there a place where the process is documented? Does anyone know if there is a way to hint at the compiler to use AVX instructions?
<dsmith>Yes it does. Uses lightening https://www.gnu.org/software/guile/manual/html_node/Just_002dIn_002dTime-Native-Code.html https://gitlab.com/wingo/lightening
<ttz>great thank you!
<ttz>Isn't the Guile compiler supposed to be able to remove bound check based on flow analysis?
<ttz>when disassembling (define (dummy n) (if (and (< n 4) (< n 2)) #t #f)) I see both checks are being performed
<dsmith>So when n is 3, don't you need both comparisons?
<dsmith>Perhaps you meant (and (< n 2) (< n 4)) ?
<dsmith>Though that also probably still needs both comparisons..
<ttz`>Mmh true, hasty example
<ttz`>What I wanted to simplify is a procedure iterating on two vectors
<ttz`>First a check that their length is equal is performed, then at each iteration of the loop that the index is in bound.
<ttz`>In the bytecode I see that f32vector-ref generates a bound check upon accessing each vector. It seems to me the rest of the code tend to prove they are not necessary,