Why does DrRacket (kind of Scheme) IDE highlights some of the identifiers as "keywords" (for example define
, lambda
, send*
), and the others as "symbols" (user defined identifiers, +
, -
, abs
, send
, send+
, etc.)?
I am particularly confused by the difference between send*
and send+
. For reference, here are the beginnings of their definitions:
(define-syntax (send* stx) ...
(define-syntax (send+ stx) ...
(It is possible that I do not use the terms "identifier", "symbol", and "keyword" completely correctly, but this is how some of them seem to be used in DrRacket preferences.)
Unless this is a bug, it must be explained by the language "semantics", so I decided to ask here.