As part of improving Cider's debugger, I need to implement special handling for all possible special-forms. In order words, I need to know all symbols which satisfy special-symbol?
.
The doc page on Special Forms, while helpful, doesn't offer all of them.
For instance, after some experimentation, I've learned that
- Most of the forms listed there have a
*
counterpart (let*
andloop*
, for instance). - There is a
clojure.core/import*
special-symbol (which I wouldn't have found if not for sheer luck).
Is there a complete list of all special symbols?
Alternatively, is there a way to list all interned symbols? If so, then I could filter over special-symbol?
.
Looking at the definition of
special-symbol?
provides a big clue:Thus: