guile-devel
[Top][All Lists]
Advanced

[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



reply via email to

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