[Top][All Lists]

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

Re: guile/guile-core/libguile eval.c

From: Mikael Djurfeldt
Subject: Re: guile/guile-core/libguile eval.c
Date: 26 Feb 2001 23:39:42 -0500

Mikael Djurfeldt <address@hidden> writes:

> This isn't much, and benchmarks have previously shown strange results,
> but it *is* enough that I think we should factor this condition out of
> the interpreter.
> One possibility is to let, for example, a cond expand into
>   (cond (CEXP (@top-level-begin EXP1 ...))
>         ...)
> when on top level.

No!  Stop me!

The main reason why we get this kind of problems is that we have put
the variable which keeps track of in which environments we type in
expressions in the interpreter instead of in the repl, where it
naturally belongs.  [Sorry that I haven't yet replied to your letter.]

My suggestion is as follows:

For now, keep the top-level begin kludge in the inner loop of the
evaluator.  When we switch to a new module system: Let the repl keep
track of where we are instead of the interpreter.

Scheme48 and rscheme have a special repl command language using comma
escape syntax.  In my language translation proposal, I propose how
such a repl command syntax could look like and work in a broader
context than just the module system.


reply via email to

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