Allow doc strings for both interfaces and concrete implementations
Description
Environment
Activity
Kevin Downey April 18, 2014 at 4:08 AM
clojure's documentation system has two parts:
1. docstrings are attached to the metadata of objects
2. the doc macro (and some other tools) read the docstrings from objects and display them
the two parts work together, without the doc macro, docstrings are just comments that also take up memory at runtime, and the doc macro has no purpose without the docstrings.
the two main places docstrings are hung are var metadata and namespace metadata.
for multimethods and protocol functions the docstrings are hung on vars.
for the implementations of multimethods and protocols there are no distinct vars to hang documentation information on, and it is not clear how you would look up those doc strings.
so to support docs on defmethods and protocol implementations would require enhancements to doc and some design work, so a wiki page to come up with a design would be a good idea.
In this post
http://groups.google.com/group/clojure/browse_thread/thread/84de74740928da76#
I mentioned the rationale (I think) why this is important and needed. Thank you for consideration.