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

  • From: Ludovic Courtès <ludo@xxxxxxx>
  • To: Michael Schierl <schierlm@xxxxxx>
  • Date: Mon, 15 Mar 2021 18:09:48 +0100

Hi Michael,

Michael Schierl <schierlm@xxxxxx> skribis:

For the record, I have written a psyntax implementation that can be used
by Guile (3.0.2) and does not require an expanded version of itself. It
is not ideal (not fully hygienic and does not support with-ellipsis),
but it works well enough to bootstrap a slightly patched version of
psyntax.scm, which then can be used to bootstrap "the real thing" and
then regenerate psyntax-pp.scm (resulting in a bit-for-bit identical
version if you run the bootstrap on 64-bit Linux).

The project is at
<https://github.com/schierlm/guile-psyntax-bootstrapping/>.

It may still contain some unnecessary code, and the patch for the
patched vesion is definitely not minimal, but for now I'm glad that it
works.

Woow, this is great news!  I think it would be great towards importing
it in Guile proper.

To do that, I think we should first get Andy’s opinion on the approach.
Then you could try to integrate the files into the Guile repo and adjust
the makefile machinery so that it uses this code to generate the initial
psyntax-pp.scm.

There may be additional things to look at, such as performance when
building from scratch.  We could still include the generated
psyntax-pp.scm in the tarball, like we do for some .go files, for those
who want a faster Guile build and are willing to make this tradeoff.

Thanks!

Ludo’.

Other related posts: