IRC channel logs

2025-04-26.log

back to list of logs

<lechner>ieure / thanks!
<lechner>Hi, why does this example have (values) after (quit) please? https://cgit.git.savannah.gnu.org/cgit/guile.git/tree/module/srfi/srfi-37.scm#n29
<mwette>It's a bit odd there; maybe just for completeness, to have a procedure that returns #<unspecified>. But I'm still not sure about using (values) for that purpose, (if #f #f) being the other option.
<rlb>...I suppose *unspecified* also exists if portability isn't important.
<rlb>I'd guess we're committed to it since the docs mention it in one make-array-related case.
<old>dsmith: she's fine. I've washed her wounds and applied some antibiotic ointment on it. She's resting in a dog cage in my house until she recover
<old>dsmith: the biggest danger is shock. She could die tonight of that, thus putting her inside my house so she can recover calmy
<mwette>We had experience years ago where our small (4) chicken coop was raided by bears. They got away with a couple of them. We ended up giving away the others.
<mwette>old: wishing your's a good recovery
<old>mwette: wow bears
<old>thanks
<old>why is seal-private-bindings in -O3 and not -O2?
<old>I get a x 1.05 speedup with it
<old>ah I see the explanation in NEWS
<old>ACTION wonder why guild compile does not have a -C option
<cow_2001>how do i tell guile, from within some installed srfi package, this package provides some cond-expand srfi-i feature?
<rlb>cond-expand-provide?
<rlb>iirc
<ayys>hi, I am trying to write an FFI function where I need to pass in a pointer to a pointer. Can someone please help me with that? the function takes two inputs: a pointer-to-struct (x) and and a pointer-to-pointer-to-struct (&x)
<ayys>I've been going through the manual, but I cannot figure out how to tackle this.
<ArneBab>old: you actually stole back the chicken — congrats! I wouldn’t have dared to ☺
<ArneBab>old: what I’d wish to have are compiler flags for auto-compilation.
<mwette>ayys: make a bytevector, x, the size of a pointer and pass (bytevector->pointer x)
<mwette>the contents of x is the pointer to struct
<old>ArneBab: I think you can setup auto-compilation flags in your .guile with %auto-compilation-options
<gabber>what's the most elegant way to split a binary file into a list of N byte chunks?
<mwette>linux has a command "split"
<gabber>i mean in Guile (:
<gabber>i can read the file in 512 Byte chunks, but that is somewhat contrary to functional programming
<mwette>gabber: maybe write a named let with a byte counter, a file counter and a procedure to generate filenames from the file counter, then loop with get-u8, put-u8
<gabber>oh, sorry. my wording is pretty unclear. i read a binary file's contents as bytevectors and want then to access them by equal-size blocks. i now achieve this with a map over bytevector-slice and a iota of the file content length divided by the block size.
<gabber>but i guess this is as abstract (as it gets)
<ArneBab>old: that sounds interesting! Maybe we should add some examples to https://www.gnu.org/software/guile/manual/html_node/Compilation.html#index-_0025auto_002dcompilation_002doptions
<ArneBab>old: but the info is strange. It says it’s the options for compile-file, but the default value has #:warnings — which doesn’t exist in modules/system/base/compile.scm::(define* (compile-file file #:key
<ArneBab>old: looks like it’s passed as #:opts (...) to compile-file.
<ArneBab>But I now spent 15 minutes searching for the format this accepts and did not find it. Maybe we need better documentation for that … (or I just failed at finding it ⇒ link to it?)
<mwette>ArneBab: maybe system/base/optimize.scm has it?
<ArneBab>that does not have a #:warnings, so I think it’s something different. But I’m not sure.
<mwette>that seems to be in system/base/message.scm(%warning-types)
<mwette>but the level is not in there
<mwette>it looks like warning stuff is sprinkled in language/tree-il/analyze.scm