[racket-dev] #true and #false

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sun Oct 10 10:29:59 EDT 2010

I do wish that "true" and "false" had the same number of letters. (And
there is such a parameter. See Matthew's original message for the
exact name.)


On Sun, Oct 10, 2010 at 8:57 AM, Neil Van Dyke <neil at neilvandyke.org> wrote:
> Matthew Flatt wrote at 10/10/2010 09:39 AM:
>> Any other opinions?
> No strong opinion, but misc. comments:
> * When working data in sexps a lot, "#f" taking a lot less space than
> "#false" can make things a lot more readable.  Imagine, for example, a
> vector of 20 small integers and false values intermixed.
> * "#f" is often used to represent something like ``none'' or ``null'' rather
> than ``false'', so spelling it out as "#false" will take some readjustment
> for some people.
> * "#true" and "#false" do have the advantage of appearing more like a
> conventional friendly language.
> * Regarding friendly languages "#true" and "#false" have the unfriendly "#"
> (ugly, visually dominating, harder to type, longer).  Some conventional
> programmers will prefer "#f" because, although not as friendly as "false",
> it's more terse.
> * It's nice that "#t" and "#f" are the same length, for lining things up,
> such as in matrices.
> * "#t" and "#f" can be hard to distinguish from each other visually.  Look
> at a vector of mixed "#t" and "#f" values, for example.
> * "#t" and "#f" should always be synonymous with "#true" and "#false", for
> compatibility with other Racket and Scheme code.
> * There should be a print parameter to force printing as "#t" and "#f", for
> interoperation with Schemes.
> --
> http://www.neilvandyke.org/
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/dev

Posted on the dev mailing list.