[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Implement local-eval, local-compile, and the-environment (v4
From: |
Mark H Weaver |
Subject: |
Re: [PATCH] Implement local-eval, local-compile, and the-environment (v4) |
Date: |
Fri, 27 Jan 2012 11:25:44 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) |
Replying to myself...
> David Kastrup <address@hidden> writes:
>> I am not sure about the strength of the respective dependencies, but let
>> me just say that "universally-unique gensyms" as an idea has a bad ring
>> to me. It makes the output of the compiler non-deterministic. This
>> makes a lot of simple verification methods (like checking that a
>> bootstrapped compiler compiles the same output as its first stage)
>> infeasible.
>
> I agree that non-deterministic compiler output is a very serious problem
> that must be avoided. However, if only the gensym _names_ are
> non-deterministic, then checking can still be done relatively simply.
> It just requires keeping track of the mapping of gensym names between
> the two files being compared.
Better yet: the only non-deterministic part (of some components of
literal syntax objects) is the inclusion of a 'session-id'. This
session-id is randomized by default, but it can be specifically set to a
fixed value if needed. This can be done for testing purposes to force
fully deterministic compiler output.
Mark