IRC channel logs

2021-04-05.log

back to list of logs

<daviid>rekado_: do you happen to know/think if gnu solfege is still maintained?
<manumanumanu>wingo: _really_ nice work with the inlinable exports! It seems... nontrivial. :)
***apteryx_ is now known as apteryx
<rekado_>daviid: I don’t know, but it doesn’t look like there’s any development.
<wingo>manumanumanu: tx. has been trickier than i thought it would be :)
<wingo>i wired up the "inlinables" side. haven't done peval yet
<wingo>some tricky considerations regarding reproducibility -- because inlinables can themselves benefit from cross-module inlining, it's not clear when you reach a fixed point
<dsmith-work>Hey Hi Howdy, Guilers
***Aurora_iz_kosmos is now known as Aurora_v_kosmose
<manumanumanu>wingo: "Inlining, how hard can it be?". Famous last words.
<wingo>:)
<manumanumanu>I don't know who I'm quoting, but it is a quote I know I have stolen from someone. I suspect it might be you: "Writing an inliner is like trying to restrain a rabid dog on a leash"
<wingo>dunno :)
<wingo>but yeah
<manumanumanu>wingo: I am a little bit curious. Have you measured any speedups? Cross module inlining is one of those things often talked about, but I don't really know about the benefits.
<wingo>manumanumanu: still not really working
<wingo>from looking at some diagnostics, generally will be no impact on guile. sometimes amazing tho
<wingo>one of those "whoa where did that 10x improvement come from" things
<wingo>but, it will allow us to write programs in different ways
<wingo>i.e. without considering module boundaries to be optimization boundaries
<wingo>so you can freely (define x 42) and know that users will inline as appropriate
<wingo>(nb, only for declarative modules and unassigned toplevels)
<wingo>er, declarative bindings in declarative modules rather
<wingo>anyeay
<wingo>*anyway
<wingo>in my branch, the "provider" side is done i think
<wingo>i.e. candidate values are written to the compilation units
<wingo>the "consumer" side is done for simple values like constants and such
<wingo>needs some help for lambdas tho. inlining a lambda introduces new lexicals in the source program, which peval wasn't expecting before
<civodul>neat
<sneek>Welcome back civodul, you have 1 message!
<sneek>civodul, raghavgururajan says: In c-u, glib-or-gtk-build-system doesn't trigger bootstrap. For example. try `guix build farstream --without-tests=gupnp-igd`.
<civodul>wingo: how can users retain control over ABI compatibility issues?
<civodul>as a module writer, sometimes there are things you explicitly don't want to be inlined
<manumanumanu>wingo: thanks! It will hopefully make something like define-inlinable mostly redundant
<manumanumanu>good night!
<dsmith-work>wingo: While you are messing about with cross module inlining, please have a think about https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47084
<ArneBab>wingo: not having to worry about module-structure for optimizations sounds great!
<ArneBab>(not that I did that to date, but it would be great to never having to do it in hindsight)