IRC channel logs

2026-06-07.log

back to list of logs

<old>hmm you are right
<old>it seems that the tests are not using the test framework properly ?
<old>ah it's using srfi-64
<rlb>Should be foo.sr64 then, I suspect.
<rlb>rather than foo.test
<rlb>cf srfi-197
<old>do we support srfi64 test out of box?
<old>because I can just re-write the test to use our frameowrk
<old>it's almost done .
<old>feels weird that make check did not told me there was no test ran
<rlb>oh, I think they ran here? --- just guessing they didn't "register right"
<rlb>(at least wrt output handling)
<rlb>ACTION checks
<rlb>yeah, they're running --- that's what got my attention in the first place.
<old>but there are erbugs in the tests
<old>I'm fixing them
<rlb>oh, right -- that's what I meant by "register right"
<rlb>i.e. they run, and we see the output, but they aren't accounted for properly
<rlb>I'd guess that switching to the 64 harness will fix that.
<old>okay fixex them all. I've migrae them to our test frame work
<old>will push later
<rlb>cool
<rlb>old: wonder if we could add a guard for that, something like produce an error if the sri 64 set procedures are called after (test lib)'s and vice versa.
<rlb>s/set/set up/
<old>would be great
<JohnCowan>if you find bugs in a SRFI test suite, please push them upstream.
<old>JohnCowan: I don't think the tests I fixed were from the original srfi tests
<old>e.g.: testing for ((conjoin number? string?) 1 2) does not make sens
<old>rlb: pushed
<probie>On both guile 3.0.1 and 3.0.11 (and I assume everything between, but haven't checked), `program-arities` which the manual says should be in `(system vm program)` isn't there (https://doc.guix.gnu.org/guile/latest/en/html_node/Compiled-Procedures.html)
<probie>Is this a bug on my end, with guile itself, or is the documentation out of date?
<flypaper-ultimat>Hey folks! Is it possible to programatically set or define a procedures keyword arguments to the result of another computation?
<flypaper-ultimat>e.g. if i have a function `f' that returns '((foo 1) (bar 2)), i'd want (lambda-with-args (f) #t) to be equivalent to (lambda* (#:key ((foo 1) (bar 2)) #t))
<flypaper-ultimat>correction: (lambda* (#:key ((foo 1) (bar 2))) #t)
<mwette>probie:you are right. There is even code using it but it's not there. (system vm debug) has find-program-arities, if that helps
<flypaper-ultimat>(mostly for completion frameworks to show the keys, these procedures would have a rest argument, and programmatically handle key value pairs in there, i.e. in the example we dont use foo or bar in the body )
<old>probie: I fixed missing program-arities on main
<old>flypaper-ultimat: have a look at let-optional
<flypaper-ultimat>old: hmm, those still require me to know what the keys will be at time of writing, so not quite what i'm looking for. The use-case here is more about communicating to a developer/ repl user to communicate a calling convention, and i don't know that convention will be ahead of time. i guess for now i'll just set the 'keyword pair in 'arglist property of the procedure
<mwette>flypaper-ultimat: Can you avoid #:key arguments and use rest arguments to look for keywords?
<mwette>(lambda (bla . rest) (... (if (keyword? (car rest) ...))))
<mwette>(My personal choice is to avoid straying from the established APIs.)
<probie>mwette: I didn't actually need it (what I needed was one of `program-arguments-alist` or `program-lambda-list`), I was just curious as to what would be returned when `program-arities` was called on things defined with `define-method`
<mwette>probie: found this in my misc scrap: https://paste.debian.net/hidden/6730ebb4