IRC channel logs
2026-02-14.log
back to list of logs
<jab>so apparently spacemacs has a weird bug, which makes geiser mode not work at the moment. <jab>It's really annoying doing guile programming without geiser. <humm>jedb: environment variable or command line option <jedb>humm: there are no environment variables I can find, and the only place a command line option would work is when invoking guild directly, which then has the problem of being unable to load in other files in the same way you would pass -l to guile <humm>jedb: (guile) 4.2.2 Environment Variables <humm>invoking guild directly? wdym? it’s guile that’s autocompiling, not just guild <humm>and guile has a command line option to disable autocompilation <jedb>and yes it's guile that's autocompiling, but if you rely on that then how do you control the optimisation level? <humm>I apologize, I utterly misread the question <rlb>jedb: I'm not sure I follow the details, but if you can make the adjustments you need on the guild command line, then perhaps you could create a wrapper guild that shadows the real one in your PATH? <old>anything that guaranteed ordering traversal of hash-table ? <rlb>old: for regular hash-tables? I think the ordering of say hash-for-each is explicitly unspecified. <rlb>Also unspecified what happens if you modify the table during traversals. <old>johnwcowan: oh that's fresh <old>rlb: but given an insertion of item in H, the the ordering should be the same if I do the exact same thing again no? <johnwcowan>yes, updates to existing associatons don't change the ordering <jab>I feel like we should have a lisp systems language. Do ya'll think that there should be a systems lisp language? And if it existed, could it be better than zig / rust ? <rlb>old: unless that's specified, I'd assume it's not, i.e. might change in some release? <humm>has anyone heard of the prescheme person this last year? <jab>does prescheme work on 64 bits yet ? <rlb>Hmm, I don't think there's been a lot of public activity with respect to the restoration for a while. I just meant it as a potential example of the kind of thing you suggested. <mwette>ArneBab: for the above i have a small, 3 line patch for libguile/init.c <old>humm: the person who's working on pre-scheme has been offline for a 1 year now. Nobody was able to reach him <ArneBab>mwette: that would be pretty useful for games. <ArneBab>mwette: I got guix pack --format=appimage working for a chickadee game, but it’s 500 MiB, because it includes all of LLVM, GCC, MESA, and two Python implementations. <ArneBab>An appimage works kind of like a generalized binary that also includes data. But the binary is much too big for small games. <ArneBab>mwette: Also a compiled Guile is 55 MiB of go files. Getting that down to the 5 MiB or so of *go files I actually use would be really useful. <mwette>My script only pulls in modules that are referenced. For a trivial script that only uses (ice-9 format) I ended up pulling in about 20 modules. That part is about 3.5 meg of .go files, though libguile is about 25 meg. <ArneBab>mwette: 500 MiB bandwidth cost about 5 cent on AWS (other solutions have similar cost), so for a demo or free software (anything that does not cost at least a few dollars to get to a download), that makes a big difference. <rlb>mwette: 25mb for the .so? <rlb>(I imagine don't mean libguile*.so --- here mine' <rlb>"I imagine you don't mean" <mwette>the .a is 24 Meg. The .so is 61 meg. <rlb>So not a normal libguile.so? <rlb>i.e. vs -rw-r--r-- 1 root root 1.3M Dec 12 21:20 /usr/lib/x86_64-linux-gnu/libguile-3.0.so.1.7.1 <mwette>In the translation I hash the directory part of the module path. <mwette>rlb: Currently I'm just dynamically linking. I assume static link is possible, but I had issue with it before. <rlb>Right, but I'm wondering (if this is what you're saying) why your libguile.so is 25mb where a "normal" one is 1.3. <mwette>rlb: I misread. The .so is 6.1 MB. on my system <rlb>oh, ok -- and perhaps unstripped? <mwette>but the .a is 24 MB. Why is that, you think? <rlb>not sure, I have -rw-r--r-- 1 root root 2.7M Dec 12 21:20 /usr/lib/x86_64-linux-gnu/libguile-3.0.a <rlb>but check "file LIB" and see if it's unstrippe. <rlb>(well, for the .so, not sure about the .a) <mwette>on my ubuntu system, /usr/lib/x86_64-.../libguile..a is 2.8 MB. That's probably stripped. Can you strip a .a? <mwette>My original's numbers from libguile.a build by me from source. <mwette>If I strip that 24 MB .a I get 10.9 MB. Sorry for the misleads. <rlb>Interesting that it's still 3+x (if you mean the .a) larger than the .a here. <ArneBab>maybe the optimization level is different? <mwette>OK. So, the libguile size can be ~ 3 MB. The rest (i.e., the .go files) is independent of that, I think. <mwette>I wonder if it is possible to strip the debug info out of the .go files.