IRC channel logs

2024-05-05.log

back to list of logs

<daviid>old: ok tx
<mwette>daviid: gc-disable
<mwette>gc-enable after
<daviid>mwette: oh great, so it is possible
<daviid>any 'special' reason why these are undocumented?
<rlb>...the description of new-docstrings.texi in guile.texi suggests maybe it's just that no one has gotten to it yet.
<mwette>daviid: Not everything in guile gets documented, but guile in general is very well documented, and you can learn a lot by reading comments in the code. You can always submit a patch.
<mwette>di
<daviid>yes, guile's ref doc is excellent, consulting the code is a must as well ofc, i do this to ... but as i wanted a quick response to whether disabling/enabling the gc was possible ... tx
<old>I vaguely remember using gc-disable/enable once, but since I have not found then in the doc, I assume I was confused; mwetter: thanks for poiting that out
<old>I wonder if disabling the GC could dead lock. Idk if the internal allocator will allocate fresh memory if everything is exhausted and the gc is not ran
<dcunit3d>is there a good way to get guile to ignore modules within a specific subpath? I have Guix packages/services in ./ellipsis and ./dc, but a few modules with packages I'm working on in ./ellipsis/packages, but a lot of these either require me to stash, save patches (via magit) or create branches, which ends up creating a mess that's hard to remember
<dcunit3d>can i just create a module within like ./ellipsis/packages/wip/my-golang-package.scm and then ignore the entire ./ellipsis/packages/wip subdirectory? I'm not sure how to do that with GUILE_LOAD_PATH. or should I move it outside of the ellipsis namespace entirely?
<dcunit3d>no modules/packages would refer to any symbols in these WIP packages
<mwette>dcunit3d: In what context? If in guile code maybe try mucking with %load-path (global variable), using filter or add-to-load-path (syntax) to put perferred dirs to front of lookup
<dcunit3d>mwette: my emacs config adds '.' to the load path when invoking the geiser REPL. also, AFAIK, modules inside ./somepath/sub/dir have to be declared as `(define-module (somepath sub dir))` right?
<dcunit3d>so unless I move my existing modules into arbirtary directories like $dotfiles/dc/dc and $dotfiles/ellipsis/ellipsis, then I can't easily create a third module root inside this $dotfiles project
<dcunit3d>i would also need to ensure that my $dotfiles project handles the %load-path in a slightly different way, which has been a source of confusion (since the Guile load path is constructed a differently on Guix System and Arch/Fedora and also handled differently in Emacs vs Doom Emacs, etc)
<FlaminWalrus>Another somewhat noob-y question about Guile specifics: if I (define (inc x) (1+ (1- (1+ x)))) and (define 1+ inc) at a fresh prompt, I can use the redefinition just fine. However, if I first state intent to export the redefinition via #:replace in define-module, the redefinition stops working, even internally in the module—the interpreter hangs on evaluating an application, which suggests that the name 1+ is unbound from its
<FlaminWalrus>usual meaning whenever the module definition is evaluated. Is there any more canonical way to replace (guile) bindings from a module while still using their usual definitions internal to the module?
<Retropikzel>Anyone happen to know how to make (load "file.scm") work in guile when using --r7rs? Gives me this error https://pastebin.com/ZHvk2GLW (scheme load) is imported, the file is in same folder which is added to path using -L $(pwd), importing from that folder works
<sneek>tohoyn: Greetings!
<tohoyn>sneek: botsnack
<sneek>:)