IRC channel logs

2026-02-11.log

back to list of logs

<ArneBab>there’s a web frameworks benchmark that includes guile web and guile fibers, but there’s some problem in fibers. I tried my shot at fixing it, but it uses oha (installed via cargo) that fails on me. If that should work for you, it might be good if you could have a look and try to get fibers to work in the test: https://github.com/the-benchmarker/web-frameworks/pull/8999#issuecomment-3881270942
<ArneBab>janneke: do you by chance have a docker container which only includes guile bootstrapped from the minimal seed?
<janneke>ArneBab: no...but at Guix Days (TM) we talked about bootstrapping guile
<janneke>altho...
<janneke>ACTION types: guix pack --format=docker --symlink=/bin=bin -e '(@@ (gnu packages commencement) guile-final)'
<janneke>would you like to have a look at that? it's 39M
<janneke>ACTION is docker n00b / avoider
<ArneBab>janneke: so small? I’ll have a look!
<janneke>ArneBab: note that, before this guile is being built, almost all of commencement has already been built
<janneke>we were talking about trying to build guile (possibly a more bootstrappable version?) much sooner
<janneke>but that's currently "just talk" :)
<janneke>ArneBab: you have guix, or should i upload this somewhere?
<ArneBab>janneke: I have guix and am already experimenting
<ArneBab>:-)
<ArneBab>thank you!
<janneke>ArneBab: (y), yw!
<janneke>you may even want to use the regular guile: guix pack --format=docker --symlink=/bin=bin guile
<ArneBab>but it shows that it’s build later: the virtual layer size is 141.8MB (shown by docker load)
<janneke>or even guile-next, you'll figure it out!
<janneke>right
<ArneBab>regular guile is at 145 MB, so guile-final does bring an improvement.
<ArneBab>janneke: does the guile-final pack include all the packages on the path to building? ⇒ can we run guix gc just after guile-final is ready?
<ArneBab>ACTION will ask this in guix
<ArneBab>#guix
<AwesomeAdam54321>Hi
<AwesomeAdam54321>How do I use `syntax-case` properly with the following macro? https://paste.debian.net/hidden/cb3e2531
<mwette>AwesomeAdam54321: try moving the >chars procedure just inside the (lambda (stx) form; or use eval-when.
<AwesomeAdam54321>mwette: Is it so that the procedures are in the scope of macro expansion?
<mwette>yes
<AwesomeAdam54321>The problem still persists when using `(eval-when (expand load eval))`
<mwette>what problem?
<AwesomeAdam54321>The `a` parameter in the inner macro definition doesn't return its value, i.e. `test-a` instead of `test-value`
<AwesomeAdam54321>`(test-a)` returns 'value-tag as expected, but the expression for getting such a value should be `(test-value)`
<mwette>I see. Seems odd to use quasiquote instead of syntax-quasiquote.
<AwesomeAdam54321>I'm not sure how to make it work with syntax-quasiquote. If I knew, I would just use it
<AwesomeAdam54321>There were issues with raw symbols in the macro output, so I figured that the whole thing should be wrapped in datum->syntax
<mwette>There are a number of examples here: https://www.scheme.com/tspl4/syntax.html
<mwette>I don't see it right now.
<rlb>old: in case you hadn't seen it (and I've never messed with it myself) --- https://yojo.emersion.fr/
<rlb>old: oh, and if git does what I've assumed, then wrt bootstrapping and CI, I've wondered if we might be able to mostly dtrt by having a first step that checks out the most recent tag on the branch (changing the tree), then unpacks the matching bootstrap files, then returns to the original commit --- so that if say a pr changes files that affect stage0, make will still notice and handle it.
<rlb>You see similar behavior when moving around on a branch in a local tree via checkout/rebase/etc. (unless you cross a "breaking change", e.g. backward incompatible change in byte-compiled format).
<old>rlb: interresting! I don't like adding too much 3rd party in this. Could we not have this bridge ourself somehow?
<rlb>Yes, I think -- see the "Source" button at the bottom.
<rlb>that's just a convenience instance I think?
<old>oh great