IRC channel logs

2022-01-13.log

back to list of logs

***hugo- is now known as hugo
<wingo>rlb: i don't really understand that bug. it would seem to be in peval.scm but that's a guile thing not a lokke thing; the program being compiled wouldn't cause that error
<wingo>ok merging wip-inline-digits
<wingo>civodul: i merged wip-online-digits to main and the psyntax fix, can you verify that it works with guix ?
<civodul>wingo: alright, giving it a spin!
<civodul>thanks
<civodul>with current "main" we peak at 2.3G resident while building gnu/packages/*.scm with -O1 (a single process compiles all these files)
<civodul>not sure how that compares to 3.0.7
***pritambaral is now known as prite
<civodul>Guix builds and tests pass with current main
<tohoyn>if compilation of guile programs to executables will be implementated should we also implement compilation of guile code to a shared library?
<tohoyn>s/implementated/implemented/
<wingo>civodul: good that everything passes, but i would be interested in the comparison with 3.0.7
<dthompson>I saw a tasty teaser about making guile on par with chez scheme yesterday. I did not realize that guile was within reach of that. exciting!
<civodul>wingo: 3.0.7 peaks at ~1.5G when compiling gnu/packages/*.scm
<civodul>so it seems there's a regression
<wingo>that's not a good change!
<civodul>the new code doesn't register finalizers at all on bignums, right?
<wingo>correct
<wingo>civodul: can you try with -O1 -Ono-inlinable-exports ?
<wingo>and -O1 -Ono-inlinable-exports -Ono-resolve-free-vars
<civodul>cross-module inlining is turned on by default, right?
<civodul>even at -O1?
<wingo>well. at -O1 guile collects the set of bindings that are inlinable at definition sites. at -O2 guile attempts to inline at uses
<wingo>i.e. no inlining is done at -O1, just recording inlinable procedures
<wingo>ah i did just find a memory leak...
<wingo>ah no
<wingo>no leak that i can see
<dthompson>anyone know if there is a backwards-compatible way to add `#:declarative? #f` to a define-module form? I added them on some modules in haunt to get rid of some warnings on 3.0 but it broke all 2.2 users. :(
<mwette>maybe wrap two (define-module ...) forms in a cond-expand
<dthompson>I thought of that but that's a lot of duplication
<dthompson>the forms will be the same except for one line
<dthompson>maybe I could define a macro in each module just before the module is defined?
<mwette>you can move #:use-module to (use-modules
<mwette>Yes. Probably better to use macros and functions. Because there are a number of changes one may need to deal with -- e.g., exceptiions, bitvector ops etc.
<civodul>dthompson: no, changes to 'define-module' create portability headaches
<civodul>same for #:re-export-and-replace, though it can be worked around
<dthompson>civodul: ah okay
<dthompson>well here's what I came up with: https://gist.githubusercontent.com/davexunit/f6f5312bb51674245ec9903eabba663f/raw/acdc1af02157c62f06fb8364486066af0b47eed6/foo.scm
<civodul>but what mwette proposes should work
<civodul>that define-module* looks good too!
<dthompson>just have to copy/paste that macro into each module that needs it
<civodul>heh
<dthompson>which is just 3 in haunt, I think.
<dthompson>yeah just 3
<dthompson>I can live with this. thanks for talking it out with me mwette and civodul
<mwette>yw
<dsmith-work>Thursday Greetings, Guilers
<rlb>wingo: no idea yet - just saw it start happening when I tried main after the inlining was added (and iirc (it was a *while* ago) I bisected the failure to that change). I'll plan to double-check everything and create some clear reproduction instructions (in the next few days) in case you have time and want to poke at it.
<dsmith-work>!uptime
<sneek>I've been running for 11 days
<sneek>This system has been up 25 weeks, 1 day, 51 minutes
<stis>Just did a script that made all guile-log modules non declatrative as it was not possible to compile with latest and greatest
<stis>following the receipt above
<stis>dito for python on guile, but I suspect that we need some modules in the guile soruces to be non declarative in order for python-on-guile tp work
<stis>python-on-guile dynamically patch guile so that we autocompiles python files
<stis>same for guile-log so that we autocompies prolog files
<ArneBab>wingo: 2-3x faster would be awesome!