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

Re: [Scheme-reports] Formal Response #382: Allow "if" to accept arbitrarily many if-then pairs

Yesterday, John Cowan wrote:
> In standard Scheme there are no packages, so there is only one
> symbol named "if".

It's an identifier, not a symbol.

> However, you can rebind or redefine it as you will.

And that's exactly why it's not a symbol: "redefining" it means that
you're actually creating a new binding.  (So strictly speaking there
is no *re*definition, it's a new one.)

Earlier today, John Cowan wrote:
> Aaron W. Hsu scripsit:
> > Notice that you only need the explicit FOR when you are dealing
> > with explicit phasing systems like Racket. On systems like Chez or
> > Vicare/Ikarus, you should be able to just specify the
> > (extended-if) library and have things work.
> A fine example of why R6RS-style explicit phasing (where you can
> specify what phases an identifier is defined at, but cannot define
> it differently at different phases) makes little sense, as distinct
> from Racket-style fully isolated phasing.

It was a compromise so obviously it got the worst of both worlds.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Scheme-reports mailing list