mit-scheme-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MIT-Scheme-devel] Very curious problem


From: Matt Birkholz
Subject: [MIT-Scheme-devel] Very curious problem
Date: Tue, 14 Feb 2012 21:20:39 -0700

> From: Joe Marshall <address@hidden>
> Date: Tue, 14 Feb 2012 15:07:00 -0800
> 
> I just added code to implement LETREC*, [...]
> 
> Everything continued to work, with one bizarre exception.  [...]
> 
> So, here's the mystery.  If I set the named-let expansion to
> anything other than LETREC, everything works.  If I remove the
> `package' macro around the forms, everything works.  It only goes
> into an infinite loop if I have the outer package form, AND expand
> named-let into LETREC.

This could be caused by our weird build situation.  I just tried to
build from source with 9.1.1 and was reminded of an earlier email from
a nearly identical hacker.

> From: Joe Marshall <address@hidden>
> Date: Wed, 18 Jan 2012 12:42:39 -0800
> 
> Hi all,
> 
> [...]
> 
> I added a small section to the top-level README.txt that briefly
> explains how to re-syntax and compile the compiler with an interpreted
> version of itself.

That section describes how to use a runtime.com band to syntax the
compiler without the compiler present.  The liarc (and svm)
cross-compiler(s) MUST be built this way.  The compiler is a built
thing, and building it in environments already populated by a
different compiler shouldn't (doesn't) work.  Our standard build
forgets that; it only happens to work whilst old and new compilers are
very similar and have the same target!

So I hacked compile.sh to follow the examples in
compile-boot-compiler.sh and compile-svm.sh.  It uses the old compiler
to syntax and compile the new runtime/, sf/, cref/ and star-parser/.
The new compiler is then syntaxed with these new versions.

    commit 48c535b41a299714d3b442c5ab68cd5f29f6c99f
    Author: Matt Birkholz <address@hidden>
    Date:   Tue Feb 14 21:12:04 2012 -0700

        Syntax new compiler with new runtime, sf, etc.

This strategy allows today's master (48c535b) to be built correctly
using 9.1.1 -- no hand-made compiler-band.com necessary.  Perhaps it
will fix your problem too...



reply via email to

[Prev in Thread] Current Thread [Next in Thread]