I'm very happy about clojure.spec.  I think. (!)

Two suggestions for the documentation page.  Just my two cents.

First, it would be helpful to begin with a description of what clojure.spec 
does and how it will be used, and one or two brief examples right at the 
beginning--ideally before the first or second page scroll.  The current 
"Rationale and Overview" page starts with a very long rationale section 
("Problems", "Objectives", "Guidelines"), followed by a long and detailed 
"Features" section.  Both of these are needed, but throughout the rationale 
material, I was trying to infer what it was that clojure.spec really was, 
and then when I got to "Features", I still was trying to get a general 
sense of how clojure.spec supposed to be used before wading through an 
informal specification of its details.  No doubt I can study "Features" and 
synthesize my own general understanding of clojure.spec, but I don't think 
that should be necessary.  (When I say, "how it is used", I don't mean how 
it will interact with clojure.test.  That's important but secondary.  I 
need something more fundamental.)  The many postings in this thread show 
that many people already have the idea.  I assume that this is either 
because they've already worked with something similar, or did have the time 
to closely study the documentation and synthesize their own understanding, 
or maybe they're just smarter than I am. :-)

2. This is just confusing:

Communication



Species - appearance, form, sort, kind, equivalent to spec (ere) to look, 
regard
               + -iēs abstract noun suffix

Specify - species + -ficus -fic (make)


A specification is about how something 'looks', but is, most importantly, 
something that is looked at. Specs should be readable, composed of 'words' 
(predicate functions) programmers are already using, and integrated in 
documentation.

I gather that the indented part is excerpted from a dictionary entry for 
the word "Species", but at first I thought it was an example or a part of 
the specification of clojure.spec.  Just wasn't sure.  Coming as it does in 
a section called "Communication", and followed by text that includes "Specs 
should be readable"--when the "example" isn't readable, it's very 
confusing.  Cute, maybe, once you understand it, but unhelpful for someone 
who is trying to learn what clojure.spec is.


Thanks!  I still am not entirely clear about how clojure.spec should be 
used, but from what I can tell, it's very good thing and I'm very happy 
about it.

I was a participant in a few long discussions about improving Clojure 
docstrings, and I gather that clojure.spec might supplement or end up 
playing a role in modifying docstrings to provide succinct, clear 
descriptions of expected arguments, with potentially systematic display 
formatting, all of which would be great.  The other uses of clojure.spec, 
at least as I understand them, also seem extremely useful.

-- 
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.

Reply via email to