IRC channel logs

2024-02-26.log

back to list of logs

<apteryx>is guile supposed to look in the same directory as a source file to find a .go ?
<apteryx>when using guile -l the/script.scm -e the-proc -s ...
<apteryx>with the/script.go existing, but not on the GUILE_LOAD_COMPILED_PATH
<apteryx>ah, it uses load-in-vicinity, which consults only in (getcwd)
<apteryx>not true, it also uses the %load-compiled-path
<apteryx>hm, so load-in-vicinity with an absolute path works in odd ways for absolute file names. It'll concatenate a %compiled-load-path entry with the absolute file name, leading to something like: "/gnu/store/hx74v20cwcra7jq8lnagfi76i73018ai-ld-wrapper2-0/bin//gnu/store/hx74v20cwcra7jq8lnagfi76i73018ai-ld-wrapper2-0/bin/ld.go" for a compiled path of
<apteryx>/gnu/store/hx74v20cwcra7jq8lnagfi76i73018ai-ld-wrapper2-0/bin and -l /gnu/store/hx74v20cwcra7jq8lnagfi76i73018ai-ld-wrapper2-0/bin/ld.go
<daviid>apteryx: those guile-lib patches look good to me, and tx for the commit style, just one detail and one quiz wrt v4 7/7
<daviid>apteryx: in the doc string, you say "... @code{flush-port} is called after emitting a log ..." but the method name is flush-log ?
<daviid>apteryx: wrt v4 7/7 still, i was also asking myself, do we really want to 'systematically' call flush-log after every emit-log call, or, just an idea, would we prefer to make and use a parameter, like (when (%flush-after-each-emit) (flush-log self)) ... wdyt? not a big deal, but as you are 'at it' ...
<daviid>apteryx: anyway, you can push those v4 patches to the devel branch, if you think my last suggestion is worth doing, we can add another separate patch - i'll double check, merge to master and do the release this week ...
<apteryx>daviid: re calling flush-log systematically, I think that's a better default than the status quo, but I agree it'd be nice to expose a switch to change this behavior
<apteryx>I'm not sure a parameter is the right fit here, since we already have a log-handler objcet that could keep such setting as a property
<daviid>apteryx: ah right - if we add a property, i still the default value should be #f?
<apteryx>I think the default value should be #t, as that's the default value for e.g. Python and people expect to see the logs written in real time
<daviid>apteryx: ok
<apteryx>going against this breaks users expectations (it's surprising) -- at least it was for me
<apteryx>but with a documented switch, users could easily change that default #t to #f, in case they logs MB/s of traffic and would rather have it block buffered
<apteryx>or better than flushing after each emit-log, we could also make the handler's port line buffering configurable at handler construction time
<apteryx>this would be most flexible
<apteryx>e.g. (make <port-log> #:port (current-error-port) #:port-buffering 'line)
<daviid>perfect, if you're ok, please push those patches to the devel branch, let me know ... then we'll see if you have time to work on this enhancement
<apteryx>or just #:buffering
<apteryx>I don't see a 'devel' branch; do you want to push with my local branch name, which is 'improve-logging-library' ?
<apteryx>it's based on master
<daviid>hum, i thought i did push my devel branch 'a long long time ago', but it seems not
<apteryx>oh, I think I deleted that one, as it was confusing (behind master, with no extra commits)
<apteryx>sorry for the confusion :-)
<apteryx>I've now recreated devel from master and pushed my series to it
<daviid>ah - it's ok, but may i ask you (re)create a devel branch, apply your patches and push to origin devel, then i'll pull ...
<apteryx>yes, that's what I've done now. if you fetch, you should see a 'devel' branch
<apteryx>By the way, I forgot to remove the Series-*: git trailers from my commit messages; that's metadata used by patman to track submissions, so feel free to remove it from my commit messages
<apteryx>patman being this tool: https://docs.u-boot.org/en/latest/develop/patman.html
<apteryx>(if you prefer, I can also remove these myself and recreate the devel branch)
<daviid>apteryx: i'd prefer yes, tx
<daviid>let me know ...
<dthompson>old: wrote that blog post I had been talking about https://dthompson.us/posts/optimizing-guile-scheme.html
<apteryx>daviid: done; I force-pushed to devel, so you'll want to git fetch && git reset --hard devel with the branch checked out; last commit should be d751210
<mwette> dthompson: Thanks for that post!
<mwette>I'm also attracted to the idea of transients: it's OK to mutate if done locally. (See cps/intset.scm.)
<efraim>I'm debugging guile-git on powerpc-linux and I'm confused when to choose size_t and when to choose int. I get matching what libgit2 is using, but would it really make a difference?
<dthompson>mwette: yeah exactly.
<civodul>efraim: does “make check-abi” pass on this platform?
<efraim>I'll adjust the 'check phase on libgit2
<efraim>I don't see a check-abi target, but all the tests that we run in guix pass on powerpc-linux
<civodul>there’s a ‘check-abi’ on Guile-Git’s master branch
<civodul>*target
<efraim>oh
<efraim>I believe that's the standard test-target
<efraim>yeah, check calls check-am which calls check-local which calls check-abi. so its the same test failure
<wingo>civodul: https://gitlab.com/spritely/guile-hoot/-/issues/212
<civodul>wingo: hi! nice idea!
<civodul>efraim: what’s the output from “make check-abi”?
<civodul>just pushed a fix for a problem i noticed on i586-gnu
<efraim>civodul: it looks like it may have passed, I'm running it again with less of my debugging stuff in it
<efraim>civodul: all the tests in check-abi pass on powerpc-linux
<old>dthompson: nice! That will be my bedtime reading tonight
<dthompson>old: :)
<daviid>apteryx: something must have gone wrong, the devel branch is stil not listed on https://git.savannah.nongnu.org/cgit/guile-lib.git/refs/, and as i still have my local devel branch, git fetch --all; git reset --hard devel still leaves me at 8d01962 and git pull complains Your configuration specifies to merge with the ref 'refs/heads/devel' rom the remote, but no such ref was fetched.
<daviid>apteryx: wrt the flush-log 'frequency' discuaaion, i'd pefer to call the additional slot kw #:buffering-mode, so (make <port-log> #:port (current-error-port) #:buffering-mode 'line)
<cwebber>yo yo
<cwebber> https://spritely.institute/news/contract-goblins-schemewasm-integrations-engineer.html
<cwebber>6 month contract to hack on Guile, and this one *does* accept international candiates, since it's a contract
<cwebber>well
<cwebber>to hack on guile code, specifically bringing goblins to the browser by integrating Goblins and Hoot
<dthompson>working with hoot is a real hoot :)
<cwebber>:)
<dthompson>ACTION goes back to working on wasm exceptions