On May 7, 2009, at 4:35 PM, Michele Simionato wrote:

On Thu, May 7, 2009 at 3:26 PM, Abdulaziz Ghuloum <[email protected]> wrote:
BTW, I don't intend to stir another "mine is better than yours"
debate here.  I just want to make sure everyone understands
what the other is talking about.

This definitively looks like a bug of Ikarus REPL and not
a problem of implicit phasing. Still it is a good catch,

Suppose you have the following file:

(import (rnrs) (var))
(var-set! 100)
(import (fetch))
(begin (display (list (var++) (var++) (var++))) (newline))

You can pipe it to either ikarus or ypsilon or whatever repl and get

(0 1 2)

So far so good, right?  Or wrong?

Running the same code through the "script semantics" yields

(100 101 102)

Right, or wrong?

Yes, it's a catch of one of the many inconsistencies between the
repl semantics and script semantics, but that's nothing new really.


I would never have expected something like that to happen.

The state of the repl is unfortunate and is often surprising; no
doubt about that.  You mix in a few macros and a few phases and
a few unbound identifiers, call/cc, read, redefine a few things,
and you're in for a treat.

Aziz,,,

Reply via email to