IRC channel logs

2021-10-07.log

back to list of logs

***herlocksholmes4 is now known as herlocksholmes
***brettgilio7 is now known as brettgilio
<jpoiret>hello everyone, i'm looking to resolve inlining/recompilation bugs across module boundaries, and the first idea that came to mind was to record all modules whose values were inlined in the resulting ELF that the loader could use to possibly recompile using the new ABI, does that seem like a good plan?
<jpoiret>i have to say that this is the first time i'm working on a compiler even though i roughly know how they work in general
<wingo>it can make sense but we don't currently keep that information around
<wingo>see peval.scm for where inlining happens
<wingo>the issue is that once the value is inlined, it might fold away (constant folding etc)
<wingo>so we need to record the fact that we inlined a value at inlining time; you can't traverse the code to find the inlined value because it might not be present
<jpoiret>yes, i was thinking of that, just record at inlining time. even if an inlined value is folded, if the original value changes it would still need recompilation anyway, so we don't need to worry about that i think
<jpoiret>the thing is that if i understand correctly, given how the compiler tower works, you can't really store additional information apart from the generated code, right?
<jpoiret>also, what would be good loader behavior for when a .go file isn't fresh anymore because of changes in a used module? straight recompilation or switch to the .scm?
<jpoiret>now that i think about it, cross-module inlining isn't in Guile 3.0.7, right? i'm looking for why guix records need to store abi cookies in them
<jpoiret>i was thinking that it was because accessors were being inlined, but since they come from another module that shouldn't be it
<dsmith-work>{appropriate time} Greetings, Guilers
<johnjay>when I installed guile-3.0 apt tells me SLIB isn't compatible with it, ignoring
<johnjay>is that bad
<johnjay>debian bullseye
<ruffni>is it true that console output of guix pull and guix build is not logged to a file separately?
<lampilelo>ruffni: better ask on #guix
<ruffni>oh lol, wrong channel :)
<ruffni>thanks for the head's up!
<ruffni>what's the guile way of figuring out the size of a file? is there a module or would the easiest way be to execute "du [-h]" and reading the output?
<RhodiumToad>(stat) is in the posix module
<ruffni>thanks!
<RhodiumToad>it's available by default, no need to require anything even