Alex, glad to see we're on the same wavelength about this more or less.
Christopher, some other deliverables worth considering:
- What format is documentation in? As Grimoire is evidence, plain doc
text is pretty badly formatted on average certainly in comparison to
HTML or even markdown. It'd be awesome if we had a convention for
non-plain text documentation and for indicating format to
documentation tools accordingly.
- Notes. Alex mentioned "extended documentation". Clojure has often
been criticized for having "excessively short" docstrings. While I
agree that a few well chosen words typically do better than many
words, there are cases such as the documentation for defmulti where
more than just what passes for the docstring is required. defmulti
for instance is just one entry point to the subject of multimethods
which while documented well on clojure.org is given sufficient
general treatment in no "docstrings". Andy F has Thalia, a
project which modifies docstrings in place to try and augment some
of the docs which are considered most .. terse. It seems that Alex
wants whatever format this project produces to support arbitrarily
many "additional" docstrings for a given entity. One arguable defect
of the Grimoire representation as it stands is that I implicitly
limited myself to a single "note" (user docstring/extension) per
entity.
- Examples. Most frequently, example code is presented as REPL
sessions. Again, there is no common format for these. Some "examples"
include the prompt string. Others don't. Some include STDOUT and
STDERR inline with returned results. Others comment it out.
It'd be awesome if we had tooling (including a common format or
format indicator) for representing examples. Right now Grimoire and
ClojureDocs use plain text which defeats all analysis and linking
efforts. Honestly a nREPL session replay could probably be
sufficient, but this is a research question. How you deal with deps
to run an example is a related question.
It'd be awesome for instance if I could share examples with the
4clojure folks or with Devn Walters' project getclojure.
- Links. I previously played with a representation which I called
"var-link" for uniquely naming any of
[group artifact version platform ns def].
The idea was that you could write a URI of the form
ns:org.clojure/clojure/1.6.0/clojure.core or
def:org.clojure/clojure/1.6.0/clojure.core/concat etc.
This idea predates the existing grimoire.things namespace, and was
abandoned in favor of it since grimoire.things does almost this job.
However grimoire.things fails entirely to provide or read any
reasonable URI or other structured text representation for Things.
It'd be great if we had a standard representation as such, so that
documentation writers could explicitly link to other entities from
docstrings. Again this goes back to the docstring formatting goal.
What if I could explicitly link to say nth from first and second's
docs? Link to defmethod and prefer-method from defmulti's docs?
I think you get the idea.
Just some ideas that've been rattling around in my head unimplemented.
Reid
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.