IRC channel logs

2024-12-07.log

back to list of logs

<elpogo>dsmith: I read the link you posted earlier this week -> https://wingolog.org/archives/2016/01/11/the-half-strap-self-hosting-and-guile . The "general phases" described in that entry do not seem to correspond to stage0 stage1 and stage2 of the actual build process (as of 3.0.9)
<dsmith>elpogo, Yeah, that post was from 2016.
<elpogo>dsmith: to my untrained eye looking at the build commands printed by make for 3.0.9, stage0 appears to compile not just the eval.scm interpreter, it also seems to compile the whole compiler
<elpogo>I guess my question boils down to - is the C interpreter used for all of the "guild compile" commands in stage0? Or just for some? Is the C interpreter ever used in stage1 and stage2?
<dsmith>elpogo, I couldn't say, just an innocent bystander..
<dsmith>But the general trend has been to move from C to Scheme.
<elpogo>Ok. one more question for anyone who knows. how does "guild compile" decide which to use among the C-interpreted compiler, the Scheme-interpreted compiler or the compiled compiler?
<dsmith>The C interp is prob the minimum needed to run the Scheme compiler. Once that is running, it's prob then used to compile itself.
<dsmith>But wingo is the one who is doing all that. He pops up in here about every month or so.
<elpogo>Ok. I'm reading Crafting Interpreters. I figured I'd simultaneously study the Guile compiler - hopefully I can figure out the answers myself
<old>Is there anyway to run the interpreter so that all variables are accessibles? Most of the time, local variables are not visisble when printing locals in a backtrace
<mwette>old: if you `guild compile -O0 mycode.scm' and then run you can get more, often
<old>but most of the time when I develop, it is the auto-compiler doing that
<old>anyway to tell the autocompiler I want a non-optimized version for debbuging?
<mwette>then set the optimization level via (system base compile)
<mwette>((@ (system base compile) default-optimization-level) 0) might work
<mwette>in your $HOME/.guile file
<old>hmm will try that thanks!
<old>perhaps the autocompiler ought to have better defaults
<mwette>It has a number of options: try `guild compile -Ohelp'
<mwette>those may need one to modify (language [tree-il|cps] optimize) [tree,cps]-default-optimization-options
<mwette>it's been a while since I messed with those
<Kolev>I manually installed Haunt on Fedora and it's been broken ever since I've upgraded to Fedora 41.