IRC channel logs

2024-04-18.log

back to list of logs

<rlb>wingo: what would you think about the possibility of stricter loading, or optionally stricter loading? i.e. I don't think I want guile to keep going in some cases and potentially load an unexpected/wrong/bad file, e.g. if a file is corrupted, I think I want guile to just halt, not keep looking, and if a .scm is newer, but autocompilation fails, I don't think I want guile to keep going and be happy with some existing stale .go it finds
<rlb>somewhere else (I believe that's what I've observed).
<rlb>I believe I ran in to that when I was working on something a while back and was very confused when everything ran fine, but behaved quite badly because it was proceeding with a stale .go "elsewhere" when autocompilation failed. I worry it could be worse if the newer .scm had an important bug fix or something. (Assuming I haven't misunderstood.)
<wingo>humm yeah that makes sense, i hadn't really considered that issue
<tonyg>hi all. quick q: what's the guile-ish spelling of Racket's `(void)` to get the undefined/unspecified value? The thing yielded by `(when #f #f)`.
<tonyg>is there some hack for getting srfi-69 hash-tables to display in a reasonable quick-and-dirty way in display/write and friends?
<tonyg>or perhaps there's something other than srfi-69 i should be using?
<tonyg>oh i see there are built-in hash tables
<wingo>tonyg: *unspecified* or (if #f #f)
<wingo>yeah the hash tables don't print their contents; you can do hash-map->list cons x
<tonyg>wingo: ahh *unspecified*, thanks
<tonyg>wingo: yeah, these are deeply nested in other terms so i'm after something that prints them whereever they are
<tonyg>wingo: but i should perhaps be using the builtin hash tables instead? iiuc they're not srfi-69 compatible though right?
<tonyg>oh actually their interface is a little strange too
<wingo>right. very 90s stuff
<tonyg>hehe
<wingo>there are no great options :)
<wingo>would be nice to fix, working on something similar in hoot
<tonyg>awesome!
<abcdw>How to find all the modules in load path matching the regexp? Are there any existing functions for that?
<dthompson>none that I'm aware of.
<abcdw>dthompson: :'(
<dthompson>shouldn't be too hard to do with the module introspection api, though
<fnat>Can someone explain me the difference between 'system' (or 'system*') and 'execl'? E.g. I see 'execl' is used here https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/xorg.scm#n403 and I wonder whether that could have been a 'system' instead (or its Guix-y wrapper 'invoke').
<fnat>*to me :)
<dthompson>fnat: exec takes over the current process, system starts a subprocess
<dthompson>guix services often fork+exec to spawn a subprocess that runs a non-guile program
<fnat>dthompson: Ha, I see, thanks!
<dthompson>yw