-
-
Notifications
You must be signed in to change notification settings - Fork 648
Indicate both special form and macro in doc #2015
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I'm afraid I don't understand how this can be. Something is either a macro or a special form, can't see how it can be both... |
Consider user> (meta #'let)
{:added "1.0",
:ns #namespace[clojure.core],
:name let,
:special-form true,
:file "clojure/core.clj",
:column 1,
:line 4325,
:macro true,
:arglists ([bindings & body]),
:doc
"binding => binding-form init-expr\n\n Evaluates the exprs in a lexical context in which the symbols in\n the binding-forms are bound to their respective init-exprs or parts\n therein.",
:forms [(let [bindings*] exprs*)]} Note that The other ones in (->> (vals (ns-publics 'clojure.core))
(map meta)
(filter #(and (:special-form %) (:macro %)))
(map :name))
;; => (let fn letfn loop) |
Yeah, I know this, but I just don't understand how is it possible and whether we want to show this to the users. Might be a bit confusing... @arrdem As a documentation expert what's your take on this? |
So my $0.02 is that The fact that underneath A quick grep of Clojure suggests that This wasn't done deliberately but it turns out that Grimoire doesn't document Aside: |
My view is that the user should be given the information that the developer provides. If
Right...that's why it's a special form after all. |
Fair enough. My main concern is that this might be viewed as confusing by some. Especially in light of this document https://clojure.org/reference/special_forms Anyways, I'm fine with accepting this change, but it needs a changelog entry. |
Some symbols, like `clojure.core/let`, are both special forms AND macros. `cider-doc` should indicate this.
Added changelog entry. |
Some symbols, like
clojure.core/let
, are special forms AND macros.cider-doc
should indicate this.