[bootstrappable] Re: Can Guile be bootstrapped from source without psyntax-pp.scm?

  • From: Mark H Weaver <mhw@xxxxxxxxxx>
  • To: Alex Vong <alexvong1995@xxxxxxxxx>
  • Date: Fri, 07 Jul 2017 12:40:46 -0400

Alex Vong <alexvong1995@xxxxxxxxx> writes:

Mark H Weaver <mhw@xxxxxxxxxx> writes:

At this point, I believe it would be quite feasible for a single hacker
to audit our psyntax-pp.scm and compare it to psyntax.scm within a
reasonable time frame.  Furthermore, when we make local changes to
psyntax.scm, the corresponding changes to psyntax-pp.scm are localized
and quite easy to audit as well, so the full audit need not be repeated.

It is really good that small change in source --> small change in
binary. A fancy way of saying it: the map between source and binary is
in some sense "continuious".

Sorry, I should have qualified my statement above with the word
"usually".  There are some kinds of local changes that result in
non-local changes to psyntax-pp.scm, e.g. if one of the macros are
changed.

A particularly pessimal case is when the 'syntax-object' structure is
changed, since its accessors are macros that are used throughout the
code.  This case actually happened recently in these commits:

  
https://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.2&id=eb84c2f2da83cf04214bbacf4b33528ce09a5b1a
  
https://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.2&id=a42bfae65f445178d3608433356ce132d1e7369e

As far as I'm aware, this is the first time such a large non-local
change has occurred since my work to minimize psyntax-pp.scm in 2012.

      Mark

Other related posts: