IRC channel logs
2025-07-07.log
back to list of logs
<rlb>and completely unportably *unspecified*, but I'd stick with (values) or (if #f #f), etc. <mwette>R5RS says "Except for continuations created by the call-with-values procedure, all continuations take exactly one value." <dsmith>Hmm. An empty list is different than no values... <dpk>mwette: that was a rather mean-spirited bit of specification in R5RS; both R6RS and R7RS small corrected it to the much friendlier ‘continuations of procedure call subforms take exactly one value (and it’s unspecified what happens if there is a different number); non-final continuations whose values are discarded anyway can take any number of values; call-with-values/let-values/etc. create continuations that take some specific numbers of values (and <dpk>it’s an assertion violation if you pass the wrong number)’ <dpk>in practice, this also describes the behaviour of R5RS implementations (except that R5RS has no such concept as an assertion violation, so it is undefined behaviour by extension of the general fact that passing the wrong number of arguments to a procedure in R5RS is undefined behaviour, like in R7RS small) <lloda>does 'Signals delivery fails constantly at GC' ring any bell? <mwette>dpk: I had added in the point about R6/R7 but didn't get through. The point I did not state is that of the two methods (`if' vs `values') the `if' one sees more portable. <wingo>lloda: i guess that would mean that bdw-gc is trying to stop a thread but it is ignoring SIGPWR or whatever bdw's signal is <lloda>it's on a new machine, never saw it before <chrislck>about [declarative] modules... I got a kinda-warning when one module calls (load "a.scm") or (load "b.scm") whereby a is modern and b is for legacy <chrislck>the parent module was initially #:declarative? #f which silenced the warning however it needs iiuc modern guile <chrislck>what's the harm in the parent module loading a.scm or b.scm which contains the required definitions? <chrislck>note this is gnucash so there's no risk of reassigning symbols as per the guide <chrislck>is there a better function to call other than (load ...)? <civodul>chrislck: i’d recommend creating modules and then using ‘use-modules’ & co. instead of ‘load’ <sneek>civodul, you have 1 message! <sneek>civodul, apteryx says: it looks like shepherd 1.0.5 still has some memory leak issue; Shepherd was using > 700 MiB memory on a VPS of mine. <chrislck>however chartjs-2 and chartjs-4 are different enough that I want to split into two separate wrappers <chrislck>civodul: hmm it seems (use-modules ...) doesn't need to be top-level. so maybe load isn't needed... <rlb>wingo: I'm warming to your bytestring "bytevector flavor" suggestion. If you've thought about it, do you think they should be "contagious" or not? e.g. (bytevector-append bytestring-flavored-bv normal-bv) -> which? <dodoyada>what is the idiomatic guile approach for input validation? I have just been doing (when invalid? (throw ...)) <wingo>whippet status: fixed parallel tracing in the stack-conservative mostly-moving collector. still one or two longer-tail things to track down, from a correctness pov. heuristics will need some tuning.