-
-
Notifications
You must be signed in to change notification settings - Fork 648
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Indicate both special form and macro in doc #2015
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.