[racket-dev] #true and #false

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Oct 9 00:35:43 EDT 2010

Two minutes ago, Matthew Flatt wrote:
> At Fri, 8 Oct 2010 23:11:21 -0400, Eli Barzilay wrote:
> > 
> > BTW, wasn't the whole sophisticated quoted printout part of a
> > solution to this, so that those true/false would not print out as
> > quoted?
> It's an expression issue, not a printing issue. We tell students
> that `true' and `false' are literals, and we later tell them that
> `quote' can be used to form lists of literals, and so they try to
> write the above.

Ah, OK.  (Just to mention the other kind of course -- in my class I
explicitly make a point about the difference between the common
`true'/`false' keywords and racket's identifiers & literals.  I think
that most students still miss that point, and get confused over the
quoted identifiers and using them in a `let'.)

In any case, this seems to me like it weakens the case for the longer
names being used globally rather than only in the teaching languages.
(But I'm still not objecting, except for the same `write' point I

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

Posted on the dev mailing list.