In Racket is possible to write #t #T #true true and #f #F #false false.
Which one do you prefer?
I prefer #true and #false.
In Racket is possible to write #t #T #true true and #f #F #false false.
Which one do you prefer?
I prefer #true and #false.
I am similarly in the #true and #false camp. I often find that the layout of the code is more salient with slightly longer atoms like these; especially a trailing else. The short names cause me to "miss" them somewhat.
t and nil ![]()
(In the R2RS days of scheme, #!true and #!false were used. That was dropped in R3RS.)
#t and #f seem to be by far the most idiomatic, and they're also used in the Racket documentation. Therefore, I use them, too.
If it wasn't for the widespread use, I'd probably go with #true and #false, since otherwise they're clearer. Regarding the use of lowercase, it's the norm for symbol literals and identifiers.
Likewise, I usually use #t and #f per convention, but do I sometimes use #true and #false to be extra explicit.
In particular, in prose, I've started writing e.g.:
is provided and non-@racket[#false], then
because it seems more readable that non-@racket[#f].
When choosing a font for Racket code, it is particularly important that t and f look distinct.