[Clojure] Ensure built-ins are scopes appropriately
With a recent rewrite of Clojure by @mitranim, I wanted to make sure we are properly scoping the built-ins. The rewrite handled part of #996, but I believe we need to resolve the issue with built-ins, like we did with Go.
There's two levels here...
-
Clojure's ~16 Special Forms are the fundamental building blocks and should get the
keyword.scope (with some intentional deviations, like how in Go,vargetsstorage.scope even though in language terms it's a keyword) -
Then there's the ~500 functions etc in the clojure.core namespace. These are what's equivalent to Go's builtin functions (aka Predeclared identifiers), though clearly more numerous, and should get the
support.scope (with some deviations for math operators).