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,,,