[plt-scheme] Procedure equality

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Apr 30 09:00:58 EDT 2009

On Apr 30, Matthias Felleisen wrote:
> On Apr 30, 2009, at 8:26 AM, Matthew Flatt wrote:
> >
> > This is correct for many dialects of Scheme, including standard
> > dialects. But in PLT Scheme, `(let ([x <expr>]) (eq? x x))'
> > produces #t for any `<expr>'.
> It is my distinct impression that Aziz's proposed inlining violates
> some report's notion of eq? i.e. some standard. Will would know.
> (Then again, I really don't care. Ptr equality on functions is iffy
> and when you program with it you get what the compiler gives you.)

Not a standard, but Kent's Macro Writer's Bill of Rights lists

  (eq? x x) --> #t

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

Posted on the users mailing list.