[racket-dev] #true and #false
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/