[racket-dev] Style guide: keywords and character conventions
That's correct. But I am willing to accept this small inaccuracy to remind readers of the basic idea -- Matthias
On Jul 16, 2013, at 4:30 PM, Gustavo Massaccesi <gustavo at oma.org.ar> wrote:
> Hi! I was reading the draft of the style guide in the file
> [plt]/pkgs/racket-pkgs/racket-doc/scribblings/style/textual.scrbl
> (link: http://git.racket-lang.org/plt/blob/b2ebb0a28bf8136e75cd98316c22fe54c30eacb2:/pkgs/racket-pkgs/racket-doc/scribblings/style/textual.scrbl
> )
>
> In the lines 388 - 348, there is a list of special characters that
> mark by convention special kind of symbols. In my opinion, "#:"
> doesn't belong to that list, or at least it needs a special remark.
>
> For example, "?" marks predicates, but "one?" is a normal symbol and
> nothing in the language forces or assumes that it's a predicate. In
> particular "(define one? 5)" is a legal Racket instruction, in spite
> it is of extremely bad style.
>
> But "#:" is different. It creates a special kind of data. If I
> understand correctly at the kernel level the keyword don't have a
> special representation. But at the Racket level there is a reader
> extension for #: and write/print/display show the keywords with #: .
> And many of the constructs of the language treat the keywords in a
> special way, for example lambda, apply, ...
>
> Gustavo
> _________________________
> Racket Developers list:
> http://lists.racket-lang.org/dev