<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Clojure Q&amp;A - Recent questions in Docs</title>
<link>https://ask.clojure.org/index.php/questions/clojure/docs</link>
<description></description>
<item>
<title>It's difficult to figure out options I can pass to slurp function.</title>
<link>https://ask.clojure.org/index.php/14975/its-difficult-to-figure-out-options-can-pass-slurp-function</link>
<description>&lt;p&gt;&lt;code&gt;(doc slurp)&lt;/code&gt; says&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;clojure.core/slurp&lt;br&gt;
([f &amp;amp; opts])&lt;br&gt;
  Opens a reader on f and reads all its contents, returning a string.&lt;br&gt;
  See clojure.java.io/reader for a complete list of supported arguments.&lt;/p&gt;
&lt;p&gt;(doc clojure.java.io/reader) says&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;clojure.java.io/reader&lt;br&gt;
([x &amp;amp; opts])&lt;br&gt;
  Attempts to coerce its argument into an open java.io.Reader.&lt;br&gt;
   Default implementations always return a java.io.BufferedReader.&lt;/p&gt;
&lt;p&gt;   Default implementations are provided for Reader, BufferedReader,&lt;br&gt;
   InputStream, File, URI, URL, Socket, byte arrays, character arrays,&lt;br&gt;
   and String.&lt;/p&gt;
&lt;p&gt;   If argument is a String, it tries to resolve it first as a URI, then&lt;br&gt;
   as a local file name.  URIs with a 'file' protocol are converted to&lt;br&gt;
   local file names.&lt;/p&gt;
&lt;p&gt;   Should be used inside with-open to ensure the Reader is properly&lt;br&gt;
   closed.&lt;/p&gt;
&lt;p&gt;I read the source code, and I was confused even more.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14975/its-difficult-to-figure-out-options-can-pass-slurp-function</guid>
<pubDate>Fri, 27 Feb 2026 06:41:39 +0000</pubDate>
</item>
<item>
<title>Reader docs say foo.bar is a qualified symbol but qualified-symbol? is false</title>
<link>https://ask.clojure.org/index.php/14882/reader-docs-say-foo-qualified-symbol-qualified-symbol-false</link>
<description>&lt;p&gt;The reader reference on clojure.org says &quot;Symbols containing / or . are said to be 'qualified'.&quot; but &lt;code&gt;qualified-symbol?&lt;/code&gt; is defined to return true if the argument is a &quot;symbol with a namespace&quot;.&lt;/p&gt;
&lt;p&gt;Almost every reference to a &quot;qualified symbol&quot; in the docs (on clojure.org) refers to a &quot;namespace-qualified symbol&quot; or a &quot;fully-qualified symbol&quot; (also with a namespace).&lt;/p&gt;
&lt;p&gt;The only other type of &quot;qualified symbol&quot; mentioned is on the evaluation page where it refers to a &quot;package-qualified symbol&quot; for a Java class name.&lt;/p&gt;
&lt;p&gt;I suggest changing that original sentence to read &quot;Symbols containing / are said to be 'namespace-qualified' or 'fully-qualified'. Symbols containing . are said to be 'package-qualified' if they identify a Java class name.&quot; or something similar.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14882/reader-docs-say-foo-qualified-symbol-qualified-symbol-false</guid>
<pubDate>Mon, 12 Jan 2026 21:44:25 +0000</pubDate>
</item>
<item>
<title>Docstring clojure.edn/read-string is misleading</title>
<link>https://ask.clojure.org/index.php/14762/docstring-clojure-edn-read-string-is-misleading</link>
<description>&lt;blockquote&gt;&lt;p&gt;  user=&amp;gt; (doc clojure.edn/read-string)&lt;br&gt;
  -------------------------&lt;br&gt;
  clojure.edn/read-string&lt;br&gt;
  ([s] [opts s])&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Reads one object from the string s. Returns nil when s is nil or empty.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;   Reads data in the edn format (subset of Clojure data):&lt;br&gt;
   &lt;a rel=&quot;nofollow&quot; href=&quot;http://edn-format.org&quot;&gt;http://edn-format.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;   opts is a map as per clojure.edn/read&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Note &lt;strong&gt;Returns nil when s is nil or empty.&lt;/strong&gt;. But when called with opts without explicit :eof it throws EOF error&lt;/p&gt;
&lt;p&gt;user=&amp;gt; (clojure.edn/read-string {} &quot;&quot;)&lt;br&gt;
Execution error at user/eval222 (REPL:1).&lt;br&gt;
EOF while reading&lt;/p&gt;
&lt;p&gt;And without options it returns nil as expected&lt;/p&gt;
&lt;p&gt;user=&amp;gt; (clojure.edn/read-string &quot;&quot;)&lt;br&gt;
nil&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14762/docstring-clojure-edn-read-string-is-misleading</guid>
<pubDate>Thu, 20 Nov 2025 15:10:38 +0000</pubDate>
</item>
<item>
<title>Typo in clojure.zipper/zipper docstring</title>
<link>https://ask.clojure.org/index.php/14733/typo-in-clojure-zipper-zipper-docstring</link>
<description>&lt;p&gt;The docstring for &lt;code&gt;clojure.zipper/zipper&lt;/code&gt; currently contains:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;branch? is a fn that, given a node, returns true if can have&lt;br&gt;
children, even if it currently doesn't.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;which should be:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;branch? is a fn that, given a node, returns true if it can have&lt;br&gt;
children, even if it currently doesn't.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14733/typo-in-clojure-zipper-zipper-docstring</guid>
<pubDate>Mon, 27 Oct 2025 09:30:17 +0000</pubDate>
</item>
<item>
<title>The docstring on empty? should perhaps not recommend using seq instead anymore</title>
<link>https://ask.clojure.org/index.php/14724/docstring-empty-should-perhaps-recommend-instead-anymore</link>
<description>&lt;p&gt;It seems the docstring on &lt;code&gt;empty?&lt;/code&gt; is outdated, recommending to use &lt;code&gt;seq&lt;/code&gt; to check for emptiness, even though nowodays empty? may be much faster (on counted collections):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(defn empty?
  &quot;Returns true if coll has no items. To check the emptiness of a seq,
  please use the idiom (seq x) rather than (not (empty? x))&quot;
  {:added &quot;1.0&quot;
   :static true}
  [coll]
  (if (counted? coll)
    (zero? (count coll))
    (not (seq coll))))
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14724/docstring-empty-should-perhaps-recommend-instead-anymore</guid>
<pubDate>Fri, 17 Oct 2025 11:55:12 +0000</pubDate>
</item>
<item>
<title>&quot;:added&quot; metadata missing from some new public functions in namespace clojure.java.process</title>
<link>https://ask.clojure.org/index.php/14504/metadata-missing-public-functions-namespace-clojure-process</link>
<description>&lt;p&gt;These functions in the namespace clojure.java.process are mentioned in the doc string for the namespace, and have doc strings, but do not have metadata &lt;code&gt;{:added &quot;1.12&quot;}&lt;/code&gt; as do other new public docstring'ed functions in that namespace:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;stdin&lt;/li&gt;
&lt;li&gt;stdout&lt;/li&gt;
&lt;li&gt;stderr&lt;/li&gt;
&lt;li&gt;exit-ref&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I did not find any other such functions anywhere else that are new in Clojure 1.12.0 vs. Clojure 1.11.1.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14504/metadata-missing-public-functions-namespace-clojure-process</guid>
<pubDate>Fri, 11 Apr 2025 16:29:23 +0000</pubDate>
</item>
<item>
<title>Can we add metaphors/analogies for functional closures in Clojure to the docs please?</title>
<link>https://ask.clojure.org/index.php/14472/metaphors-analogies-functional-closures-clojure-docs-please</link>
<description>&lt;p&gt;Hi,&lt;br&gt;
Having been a longtime happy and satisfied user of Clojure I realized that there is very little to introduce someone new to Clojure to &lt;strong&gt;closures&lt;/strong&gt;  where functions [like vehicles] are passed in with opaqueness to their variables [like passengers] to another function.  I think this is probably a stumbling block for many beginners and might even, unfortunately, discourage people from adopting the language without further explanation of this caveat.  I think many programmers will also disagree with my assessment because they have &quot;closure eyes&quot; and can transparently understand passing functions around as first-class-citizens so-to-speak.  &lt;/p&gt;
&lt;p&gt;I propose that we amend the documentation to explicitly mention that closures are basically like vehicles or cars with passengers.  &lt;/p&gt;
&lt;p&gt;&lt;code&gt;the fact that not everything is transparent to the top level function call is something non-obvious &lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;pre&gt;&lt;code&gt;(defn make-adder [x]
 (fn [y] (+ x y)))

(def add5 (make-adder 5))
 (add5 10) ;; Returns 15
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In this example:&lt;/p&gt;
&lt;p&gt;make-adder is like a vehicle factory. When you call it with 5, it creates a new vehicle.&lt;br&gt;
This new vehicle (the returned function) has a permanent passenger: the value 5 is sitting in the x seat.&lt;/p&gt;
&lt;p&gt;There's one empty seat (y) that you can fill when you drive the vehicle (call the function).&lt;/p&gt;
&lt;p&gt;When you call (add5 10), you're putting 10 in the y seat and driving the vehicle.&lt;/p&gt;
&lt;p&gt;Inside, the passengers interact: x (which is 5) and y (which is 10) are added together.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;How REPLs and Closures Intertwine&lt;br&gt;
The REPL (Read-Eval-Print-Loop) and closures interact in interesting ways:&lt;/p&gt;
&lt;p&gt;Creation and Persistence:&lt;br&gt;
When you define (def add5 (make-adder 5)) in the REPL, you're parking a vehicle (with 5 already inside) in your garage with the name &quot;add5&quot;. This vehicle persists between REPL evaluations.&lt;br&gt;
Inspection Limitations:&lt;br&gt;
In the REPL, you can see that add5 is a function, but you can't directly inspect who's sitting inside it. If you evaluate add5, you'll just see something like &lt;code&gt;#function[user/make-adder/fn--123].&lt;/code&gt;&lt;br&gt;
Usage in REPL:&lt;br&gt;
You can use the closure by calling it: (add5 10). The REPL will evaluate this by driving the vehicle with 10 in the y seat, and print the result (15).&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14472/metaphors-analogies-functional-closures-clojure-docs-please</guid>
<pubDate>Thu, 20 Mar 2025 14:13:58 +0000</pubDate>
</item>
<item>
<title>Docstring typos in clojure.core/bytes, chars, shorts</title>
<link>https://ask.clojure.org/index.php/14447/docstring-typos-in-clojure-core-bytes-chars-shorts</link>
<description>&lt;p&gt;The docstring of &lt;code&gt;clojure.core/bytes&lt;/code&gt; has a minor typo:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;  &quot;Casts to bytes[]&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;which should read &lt;code&gt;byte[]&lt;/code&gt;; similarly for the docstrings of &lt;code&gt;chars&lt;/code&gt; and &lt;code&gt;shorts&lt;/code&gt;. &lt;/p&gt;
&lt;p&gt;Given the new array class syntax in Clojure 1.12 perhaps these should be updated to read &lt;code&gt;byte/1&lt;/code&gt;,  &lt;code&gt;float/1&lt;/code&gt; etc. instead of using Java style syntax? &lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14447/docstring-typos-in-clojure-core-bytes-chars-shorts</guid>
<pubDate>Thu, 06 Mar 2025 06:54:53 +0000</pubDate>
</item>
<item>
<title>Found some typos in clojure.core, how to contribute a patch?</title>
<link>https://ask.clojure.org/index.php/14150/found-some-typos-in-clojure-core-how-to-contribute-a-patch</link>
<description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;For example, &lt;code&gt;if&lt;/code&gt; is mispelled in defonce docs:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(defmacro defonce
  &quot;defs name to have the root value of the expr iff the named var has no root value,
  else expr is unevaluated&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I've already signed the Clojure Contributor Agreement.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14150/found-some-typos-in-clojure-core-how-to-contribute-a-patch</guid>
<pubDate>Sun, 29 Sep 2024 14:22:30 +0000</pubDate>
</item>
<item>
<title>Is edn-format.org supposed to be online?</title>
<link>https://ask.clojure.org/index.php/14116/is-edn-format-org-supposed-to-be-online</link>
<description>&lt;p&gt;The documentation of &lt;code&gt;clojure.edn/read&lt;/code&gt; references &lt;a rel=&quot;nofollow&quot; href=&quot;http://edn-format.org&quot;&gt;http://edn-format.org&lt;/a&gt;. However, it is offline.&lt;/p&gt;
&lt;p&gt;A Whois query results in name servers like ns1170.dns.dyn.com. When doing the dig query &lt;code&gt;dig @dns.google.com edn-format.org NS&lt;/code&gt;, I got &quot;Network Error&quot; messages.&lt;/p&gt;
&lt;p&gt;Maybe &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/edn-format/edn&quot;&gt;https://github.com/edn-format/edn&lt;/a&gt; is supposed to replace edn-format.org. In this case, updating the api reference would be good.&lt;/p&gt;
&lt;p&gt;In addition, &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojuredocs.org/clojure.edn&quot;&gt;https://clojuredocs.org/clojure.edn&lt;/a&gt; references edn-format.org as well.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14116/is-edn-format-org-supposed-to-be-online</guid>
<pubDate>Wed, 18 Sep 2024 09:29:07 +0000</pubDate>
</item>
<item>
<title>Comparison ops &quot;Return non-nil if..., otherwise false&quot;</title>
<link>https://ask.clojure.org/index.php/14034/comparison-ops-return-non-nil-if-otherwise-false</link>
<description>&lt;p&gt;The docstring of &amp;lt; (and others) says:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Returns non-nil if nums are in monotonically decreasing order,
otherwise false.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That seems a bit weird since a) they return either &lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt; and b) &lt;code&gt;false&lt;/code&gt; is &quot;non-&lt;code&gt;nil&lt;/code&gt;&quot; so it seems misleading / unhelpful.&lt;/p&gt;
&lt;p&gt;What is the history for saying &quot;non-&lt;code&gt;nil&lt;/code&gt;&quot; rather than &lt;code&gt;true&lt;/code&gt;?&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14034/comparison-ops-return-non-nil-if-otherwise-false</guid>
<pubDate>Wed, 31 Jul 2024 01:41:56 +0000</pubDate>
</item>
<item>
<title>Add example to namespaced maps for :_/foo functionality</title>
<link>https://ask.clojure.org/index.php/14004/add-example-to-namespaced-maps-for-foo-functionality</link>
<description>&lt;p&gt;In the section for namespaced map syntax, the middle bullet point mentions that &lt;code&gt;:_/foo&lt;/code&gt; will treat the keyword as not having the map's current namespace, allowing for including un-namespaced keys in a namespaced map. The example given doesn't include this behavior, which has lead many (me, the entirety of the Discljord server, and I suspect many more in the wider clojure world) to not know about this behavior.&lt;/p&gt;
&lt;p&gt;I think it would be helpful to include it in the example, making the behavior explicit and obvious. Something like:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;For example, the following map literal with namespace syntax:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#:person{:_/species &quot;Human&quot;
         :first &quot;Han&quot;
         :last &quot;Solo&quot;
         :ship #:ship{:name &quot;Millennium Falcon&quot;
                      :model &quot;YT-1300f light freighter&quot;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;is read as:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{:species &quot;Human&quot;
 :person/first &quot;Han&quot;
 :person/last &quot;Solo&quot;
 :person/ship {:ship/name &quot;Millennium Falcon&quot;
               :ship/model &quot;YT-1300f light freighter&quot;}}
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;I've signed the CA and can open an PR if it's acceptable.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14004/add-example-to-namespaced-maps-for-foo-functionality</guid>
<pubDate>Wed, 03 Jul 2024 01:17:02 +0000</pubDate>
</item>
<item>
<title>Missing documentation for `:while` modifier of `for` and `doseq`</title>
<link>https://ask.clojure.org/index.php/14002/missing-documentation-for-while-modifier-of-for-and-doseq</link>
<description>&lt;p&gt;I believe the &lt;code&gt;for&lt;/code&gt; and &lt;code&gt;doseq&lt;/code&gt; documentation (at least docstrings) fail to explain the semantics of the &lt;code&gt;:while&lt;/code&gt; modifier. The existence is documented, but not the behavior.&lt;/p&gt;
&lt;p&gt;I would like to request that the doctoring be updated, especially since it behaves in what I believe is a reasonable but counter-intuitive way. I believe a reasonable person would expect that &lt;code&gt;:while false&lt;/code&gt; would trigger the &lt;code&gt;for&lt;/code&gt; or &lt;code&gt;doseq&lt;/code&gt; to exit; however it does not. Rather it causes the inner-most loop containing the &lt;code&gt;:while&lt;/code&gt; to exit, but most notably the outer loops continue to iterate.&lt;/p&gt;
&lt;p&gt;Another discussion of this can be found here: &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojurians.slack.com/archives/C053AK3F9/p1719593304442819&quot;&gt;clojurians&lt;/a&gt;&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/14002/missing-documentation-for-while-modifier-of-for-and-doseq</guid>
<pubDate>Mon, 01 Jul 2024 13:56:08 +0000</pubDate>
</item>
<item>
<title>Documentation on alternative radix/0-prefixed numbers</title>
<link>https://ask.clojure.org/index.php/13860/documentation-on-alternative-radix-0-prefixed-numbers</link>
<description>&lt;p&gt;The data structures section on numbers (&lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/reference/data_structures#Numbers&quot;&gt;https://clojure.org/reference/data_structures#Numbers&lt;/a&gt;) doesn't mention any of the alternate radix numbers. Reading the code in LispReader is challenging, I'm not exactly sure how it should work. Is there another place this is documented? If not, can the various ways be documented?&lt;/p&gt;
&lt;p&gt;Here's what I've discovered from reading the regex and code, not sure which of this is intentional or undefined behavior:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0      ; 0
+0     ; 0
+0N    ; 0N
1      ; 1
-1     ; -1
123    ; 123
123N   ; 123N
0x1A   ; 26
0x1AN  ; 26N
012    ; 10
012N   ; 10N
12r1   ; 1
12r1N  ; fails
12r2a  ; 34
12r2aN ; fails
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13860/documentation-on-alternative-radix-0-prefixed-numbers</guid>
<pubDate>Tue, 30 Apr 2024 16:22:09 +0000</pubDate>
</item>
<item>
<title>Does `:exclude` need to be added to https://clojuredocs.org/clojure.core/require ?</title>
<link>https://ask.clojure.org/index.php/13714/does-exclude-need-added-https-clojuredocs-clojure-require</link>
<description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://clojuredocs.org/clojure.core/require&quot;&gt;https://clojuredocs.org/clojure.core/require&lt;/a&gt; makes no mention of &lt;code&gt;:exclude&lt;/code&gt; but this seems to work as it appears:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(require '[clojure.set :refer :all :exclude [join rename]])
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13714/does-exclude-need-added-https-clojuredocs-clojure-require</guid>
<pubDate>Tue, 13 Feb 2024 19:29:06 +0000</pubDate>
</item>
<item>
<title>`hash-map` without arguments returns an array map, despite the docstring</title>
<link>https://ask.clojure.org/index.php/13691/hash-map-without-arguments-returns-array-despite-docstring</link>
<description>&lt;p&gt;The docstring of &lt;code&gt;hash-map&lt;/code&gt; states that it returns a hash map.&lt;br&gt;
However, there's an arity with no arguments that returns an empty &lt;em&gt;array&lt;/em&gt; map.&lt;/p&gt;
&lt;p&gt;So there's a discrepancy between the docs and the impl.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13691/hash-map-without-arguments-returns-array-despite-docstring</guid>
<pubDate>Sun, 11 Feb 2024 20:38:56 +0000</pubDate>
</item>
<item>
<title>Typo in the release notes for 1.12.0-alpha6</title>
<link>https://ask.clojure.org/index.php/13672/typo-in-the-release-notes-for-1-12-0-alpha6</link>
<description>&lt;p&gt;This under &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/news/2024/02/08/1-12-alpha6#param-tags&quot;&gt;Array Class Symbols&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Clojure supporst class symbols &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;should be&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Clojure supports class symbols&lt;/p&gt;
&lt;/blockquote&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13672/typo-in-the-release-notes-for-1-12-0-alpha6</guid>
<pubDate>Fri, 09 Feb 2024 00:51:06 +0000</pubDate>
</item>
<item>
<title>Dedupe doesn't mention statefullness in docstring</title>
<link>https://ask.clojure.org/index.php/13636/dedupe-doesnt-mention-statefullness-in-docstring</link>
<description>&lt;p&gt;Unlike all other core functions which can return a stateful transducer, &lt;code&gt;dedupe&lt;/code&gt; doesn't mention this in its docstring. E.g. &lt;code&gt;distinct&lt;/code&gt;, &lt;code&gt;drop-while&lt;/code&gt; etc. all say:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Returns a stateful transducer when no collection is provided.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But &lt;code&gt;dedupe&lt;/code&gt; just says:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Returns a transducer when no collection is provided.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13636/dedupe-doesnt-mention-statefullness-in-docstring</guid>
<pubDate>Mon, 22 Jan 2024 12:22:44 +0000</pubDate>
</item>
<item>
<title>clojure.math/scalb docstring error</title>
<link>https://ask.clojure.org/index.php/13458/clojure-math-scalb-docstring-error</link>
<description>&lt;p&gt;The docstring for &lt;code&gt;scalb&lt;/code&gt; links to the documentation for &lt;code&gt;nextDown&lt;/code&gt;, presumably just a mistake.&lt;/p&gt;
&lt;p&gt;It links here: &lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#nextDown-double-&quot;&gt;https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#nextDown-double-&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But should link here: &lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#scalb-double-int-&quot;&gt;https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#scalb-double-int-&lt;/a&gt;&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13458/clojure-math-scalb-docstring-error</guid>
<pubDate>Sat, 11 Nov 2023 13:08:46 +0000</pubDate>
</item>
<item>
<title>clojure.math/floor docstring error</title>
<link>https://ask.clojure.org/index.php/13417/clojure-math-floor-docstring-error</link>
<description>&lt;p&gt;In the docstring for &lt;code&gt;clojure.math/floor&lt;/code&gt; it says:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;If a is less than zero but greater than -1.0 =&amp;gt; -0.0&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;but that's obviously not true:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(math/floor -0.3)
;; =&amp;gt; -1.0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I guess it was intended to add that line to the docstring of &lt;code&gt;clojure.math/ceil&lt;/code&gt; but added it to floor by mistake?&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13417/clojure-math-floor-docstring-error</guid>
<pubDate>Mon, 30 Oct 2023 12:55:24 +0000</pubDate>
</item>
<item>
<title>update-vals documentation string has a typo</title>
<link>https://ask.clojure.org/index.php/13297/update-vals-documentation-string-has-a-typo</link>
<description>&lt;pre&gt;&lt;code&gt;(doc update-vals)
-------------------------
clojure.core/update-vals
([m f])
  m f =&amp;gt; {k (f v) ...}

  Given a map m and a function f of 1-argument, returns a new map where the keys of m
  are mapped to result of applying f to the corresponding values of m.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Says &quot;...returns a new map where the &amp;gt;&amp;gt;&amp;gt;keys&amp;lt;&amp;lt;&amp;lt; of m are mapped to...&quot;. This should be &quot;values,&quot; not &quot;keys.&quot; Probably a cut/paste holdover from the update-keys doc string.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13297/update-vals-documentation-string-has-a-typo</guid>
<pubDate>Fri, 15 Sep 2023 22:12:07 +0000</pubDate>
</item>
<item>
<title>The new add-lib etc fns do not make it clear they shell out to the CLI</title>
<link>https://ask.clojure.org/index.php/13196/the-new-add-lib-etc-fns-not-make-it-clear-they-shell-out-the-cli</link>
<description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.github.io/clojure/branch-master/clojure.repl-api.html#clojure.repl.deps&quot;&gt;https://clojure.github.io/clojure/branch-master/clojure.repl-api.html#clojure.repl.deps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Neither the ns docstring nor the individual function docstrings explain that they shell out to the CLI and that you need a recent version of the CLI installed.&lt;/p&gt;
&lt;p&gt;Having an old CLI might produce this error:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Execution error (ExceptionInfo) at clojure.tools.deps.interop/invoke-tool (interop.clj:49).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Which &lt;em&gt;might&lt;/em&gt; be enough of a clue to lead people to:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.github.io/clojure/branch-master/clojure.tools.deps.interop-api.html&quot;&gt;https://clojure.github.io/clojure/branch-master/clojure.tools.deps.interop-api.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A more informative error message might help users debug this but expanding those docstrings to clarify that the functions invoke the CLI as a subprocess would also help.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13196/the-new-add-lib-etc-fns-not-make-it-clear-they-shell-out-the-cli</guid>
<pubDate>Thu, 24 Aug 2023 21:26:35 +0000</pubDate>
</item>
<item>
<title>Links to EPL license are now broken</title>
<link>https://ask.clojure.org/index.php/13193/links-to-epl-license-are-now-broken</link>
<description>&lt;p&gt;Links such as &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clojure/clojure/blob/2a058814e5fa3e8fb630ae507c3fa7dc865138c6/test/clojure/test_clojure/protocols.clj#L3C33-L3C79&quot;&gt;https://github.com/clojure/clojure/blob/2a058814e5fa3e8fb630ae507c3fa7dc865138c6/test/clojure/test_clojure/protocols.clj#L3C33-L3C79&lt;/a&gt; direct one to a 404 page.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/13193/links-to-epl-license-are-now-broken</guid>
<pubDate>Wed, 23 Aug 2023 17:16:20 +0000</pubDate>
</item>
<item>
<title>The `keyword` and `symbol` docstrings don't mention that using `&quot;a/b&quot;` as its only argument is valid</title>
<link>https://ask.clojure.org/index.php/12657/keyword-symbol-docstrings-mention-that-using-argument-valid</link>
<description>&lt;p&gt;The current docstrings:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;clojure.core/keyword
([name] [ns name])
  Returns a Keyword with the given namespace and name.  Do not use :
  in the keyword strings, it will be added automatically.

clojure.core/symbol
([name] [ns name])
  Returns a Symbol with the given namespace and name. Arity-1 works
  on strings, keywords, and vars.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The arglists suggest that the first arity is to be used for simple idents only.&lt;br&gt;
However, the underlying implementation explicitly handles the case when there's &lt;code&gt;/&lt;/code&gt; in the value, and even the argument is named &lt;code&gt;nsname&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;static public Symbol intern(String nsname){
	int i = nsname.indexOf('/');
	if(i == -1 || nsname.equals(&quot;/&quot;))
		return new Symbol(null, nsname);
	else
		return new Symbol(nsname.substring(0, i), nsname.substring(i + 1));
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;One example where some existing code relies on this behavior: &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/cognitect/transit-clj/blob/972759aed878d354fbd65de3e4525345955e86b4/src/cognitect/transit.clj#L205-L207&quot;&gt;transit-clj&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Perhaps, the docstrings should be updated to reflect that?&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12657/keyword-symbol-docstrings-mention-that-using-argument-valid</guid>
<pubDate>Wed, 08 Feb 2023 16:53:38 +0000</pubDate>
</item>
<item>
<title>Add example of clojure -Sdeps to Deps and CLI guide or reference</title>
<link>https://ask.clojure.org/index.php/12281/add-example-of-clojure-sdeps-to-deps-and-cli-guide-reference</link>
<description>&lt;p&gt;Testing libraries before adding them to a &lt;code&gt;deps.edn&lt;/code&gt; file by using &lt;code&gt;-Sdeps '{...}'&lt;/code&gt; is a frequent recommendation, but it's only mentioned in a single line in the &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/reference/deps_and_cli#_deps_edn_sources&quot;&gt;Reference page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I think it would be helpful if it (and the other flags) had examples with more detail about how they're used and why. Maybe something like:&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-Sdeps&lt;/strong&gt; - pass the config data on the command line&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, instead of creating a new &lt;code&gt;deps.edn&lt;/code&gt; file to experiment with a new library, you can use &lt;code&gt;-Sdeps&lt;/code&gt; to pass in the &lt;code&gt;:deps&lt;/code&gt; map to &lt;code&gt;clojure&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ clojure -Sdeps '{:deps {org.clojure/core.match {:mvn/version &quot;1.0.0&quot;}}}'
Clojure 1.11.1
user=&amp;gt; (require '[clojure.core.match :refer [match]])
nil
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12281/add-example-of-clojure-sdeps-to-deps-and-cli-guide-reference</guid>
<pubDate>Tue, 04 Oct 2022 18:38:54 +0000</pubDate>
</item>
<item>
<title>Document that distinct preserves ordering</title>
<link>https://ask.clojure.org/index.php/11971/document-that-distinct-preserves-ordering</link>
<description>&lt;p&gt;Looking at the source of &lt;code&gt;distinct&lt;/code&gt; in both Clojure and Clojurescript, it seems that the order of the first appearance of distinct elements is preserved. If this is a promise of &lt;code&gt;distinct&lt;/code&gt;, it would be good have it documented in the doc string. I am personally relying on this behavior for sorting a collection of maps based on the order of which certain keys appear in the collection.  &lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11971/document-that-distinct-preserves-ordering</guid>
<pubDate>Wed, 15 Jun 2022 17:24:25 +0000</pubDate>
</item>
<item>
<title>Documentation for `rationalize` is misleading</title>
<link>https://ask.clojure.org/index.php/11717/documentation-for-rationalize-is-misleading</link>
<description>&lt;p&gt;It says&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;returns the rational value of num&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;but the results of &lt;code&gt;(rationalize 1.6)&lt;/code&gt; is &lt;code&gt;8/5&lt;/code&gt; instead of expected &lt;code&gt;3602879701896397/2251799813685248&lt;/code&gt;. What kind of rounding is performed isn't documented.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11717/documentation-for-rationalize-is-misleading</guid>
<pubDate>Sat, 02 Apr 2022 15:15:17 +0000</pubDate>
</item>
<item>
<title>doall docstring</title>
<link>https://ask.clojure.org/index.php/11420/doall-docstring</link>
<description>&lt;p&gt;The docstring for &lt;code&gt;doall&lt;/code&gt; states:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;...other than those needed to produce the first element in the seq ...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I believe this stems from the time before chunked seqs, and perhaps &quot;first elements&quot; would be more correct ?&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11420/doall-docstring</guid>
<pubDate>Mon, 27 Dec 2021 14:38:37 +0000</pubDate>
</item>
<item>
<title>Invoke Clojure with an argument</title>
<link>https://ask.clojure.org/index.php/11417/invoke-clojure-with-an-argument</link>
<description>&lt;p&gt;I have a problem that might be related to java interop &amp;amp; reflection. Researching the issue led me to the &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/guides/faq#illegal_access&quot;&gt;Clojure FAQ on illegal accesses&lt;/a&gt;. It says to add &lt;code&gt;--illegal-access=debug&lt;/code&gt;. After half an hour, I still can't figure out how. This is an odd problem, but I honestly seem to be struggling at running the gauntlet of adding an argument. I looked at &lt;code&gt;clj --help&lt;/code&gt; and the &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/guides/deps_and_cli&quot;&gt;Deps and CLI Guide&lt;/a&gt;, but it is taking so much effort I must be missing a guide or page of documentation somewhere.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;% clj -e &quot;\*clojure-version\*&quot;
{:major 1, :minor 10, :incremental 0, :qualifier nil}
% clj --illegal-access=debug
Exception in thread &quot;main&quot; java.io.FileNotFoundException: --illegal-access=debug (No such file or directory)
        at java.base/java.io.FileInputStream.open0(Native Method)
        at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
        at java.base/java.io.FileInputStream.&amp;lt;init&amp;gt;(FileInputStream.java:157)
        at java.base/java.io.FileInputStream.&amp;lt;init&amp;gt;(FileInputStream.java:112)
        at clojure.lang.Compiler.loadFile(Compiler.java:7570)
        at clojure.main$load_script.invokeStatic(main.clj:452)
        at clojure.main$script_opt.invokeStatic(main.clj:512)
        at clojure.main$script_opt.invoke(main.clj:507)
        at clojure.main$main.invokeStatic(main.clj:598)
        at clojure.main$main.doInvoke(main.clj:561)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.lang.Var.applyTo(Var.java:705)
        at clojure.main.main(main.java:37)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I've also got a docker image running (&lt;code&gt;FROM clojure:openjdk-18-tools-deps-1.10.3.1040-bullseye&lt;/code&gt;) that doesn't work either:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@dd07c7fedc67:/app# clojure -e &quot;\*clojure-version\*&quot;
WARNING: Implicit use of clojure.main with options is deprecated, use -M
{:major 1, :minor 10, :incremental 3, :qualifier nil}
root@dd07c7fedc67:/app# clojure -M --illegal-access=debug
Execution error (FileNotFoundException) at java.io.FileInputStream/open0 (FileInputStream.java:-2).
--illegal-access=debug (No such file or directory)
Full report at:
/tmp/clojure-7987604327110923419.edn
root@dd07c7fedc67:/app# clojure -M -m clojure.main --illegal-access=debug
Execution error (NullPointerException) at clojure.main/main (main.java:40).
Cannot invoke &quot;clojure.lang.IFn.applyTo(clojure.lang.ISeq)&quot; because &quot;f&quot; is null
Full report at:
/tmp/clojure-17703419873584290207.edn
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11417/invoke-clojure-with-an-argument</guid>
<pubDate>Mon, 27 Dec 2021 00:47:59 +0000</pubDate>
</item>
<item>
<title>Typo in https://clojure.org/guides/tools_build</title>
<link>https://ask.clojure.org/index.php/11350/typo-in-https-clojure-org-guides-toolsbuild</link>
<description>&lt;p&gt;Hi all&lt;br&gt;
I am afraid there is a typo in &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/guides/tools_build&quot;&gt;https://clojure.org/guides/tools_build&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the Compiled uberjar application build section the build.clj should read&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;  (b/uber {:class-dir class-dir&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;       :uber-file uber-file
       :basis basis
       :main 'my.lib.main}))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;currently reads :main my.lib.main (no apostrophe there)&lt;/p&gt;
&lt;p&gt;This may be evident for experienced guys but it is a problem for beginners like me&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11350/typo-in-https-clojure-org-guides-toolsbuild</guid>
<pubDate>Sat, 04 Dec 2021 20:04:37 +0000</pubDate>
</item>
<item>
<title>requesting change to doc string in (doc take-while)</title>
<link>https://ask.clojure.org/index.php/11258/requesting-change-to-doc-string-in-doc-take-while</link>
<description>&lt;p&gt;Requesting change to (doc take-while)&lt;/p&gt;
&lt;p&gt;currently it says&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;clojure.core/take-while&lt;br&gt;
([pred] [pred coll])&lt;br&gt;
  Returns a lazy sequence of successive items from coll while&lt;br&gt;
  (pred item) returns logical true. pred must be free of side-effects.&lt;br&gt;
  Returns a transducer when no collection is provided.&lt;/p&gt;
&lt;p&gt;to&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;clojure.core/take-while&lt;br&gt;
([pred] [pred coll])&lt;br&gt;
  Returns a lazy sequence of successive items from coll while&lt;br&gt;
  (pred item) returns logical true &lt;strong&gt;and stops at first false&lt;/strong&gt;. pred must be free of side-effects.&lt;br&gt;
  Returns a transducer when no collection is provided.&lt;/p&gt;
&lt;p&gt;This catches out people new to programing/clojure&lt;/p&gt;
&lt;p&gt;see &lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://stackoverflow.com/questions/69845947/why-is-take-while-returning-empty-sequence&quot;&gt;https://stackoverflow.com/questions/69845947/why-is-take-while-returning-empty-sequence&lt;/a&gt;&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11258/requesting-change-to-doc-string-in-doc-take-while</guid>
<pubDate>Tue, 09 Nov 2021 21:02:32 +0000</pubDate>
</item>
<item>
<title>clojure.java.api documentation mistaken example</title>
<link>https://ask.clojure.org/index.php/11180/clojure-java-api-documentation-mistaken-example</link>
<description>&lt;p&gt;In the current text of &lt;strong&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.github.io/clojure/javadoc/&quot;&gt;&lt;code&gt;clojure.java.api&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt;, there is an text explaining that &lt;code&gt;IFn&lt;/code&gt; can be passed to HOF.&lt;/p&gt;
&lt;p&gt;Then an example is presented as &quot;passing &lt;code&gt;plus&lt;/code&gt; to &lt;code&gt;read&lt;/code&gt;&quot; but I think the example is actually passing &lt;code&gt;inc&lt;/code&gt; to &lt;code&gt;map&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This is the current text:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;IFns can be passed to higher order functions, e.g. the example below passes plus to read:&lt;/p&gt;
&lt;p&gt;IFn map = Clojure.var(&quot;clojure.core&quot;, &quot;map&quot;);&lt;br&gt;
IFn inc = Clojure.var(&quot;clojure.core&quot;, &quot;inc&quot;);&lt;br&gt;
map.invoke(inc, Clojure.read(&quot;[1 2 3]&quot;));&lt;/p&gt;
&lt;/blockquote&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/11180/clojure-java-api-documentation-mistaken-example</guid>
<pubDate>Thu, 21 Oct 2021 12:32:27 +0000</pubDate>
</item>
<item>
<title>Docstring for `=` could be made less ambiguous w.r.t. numbers</title>
<link>https://ask.clojure.org/index.php/10992/docstring-for-could-be-made-less-ambiguous-w-r-t-numbers</link>
<description>&lt;p&gt;The current docstring of &lt;code&gt;=&lt;/code&gt; says:&lt;br&gt;
&amp;gt; compares numbers and collections in a type-independent manner&lt;/p&gt;
&lt;p&gt;Which makes it sound like it compares numbers by value, checking whether dots on a number line coincide.&lt;/p&gt;
&lt;p&gt;Whereas in reality:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;user=&amp;gt; (= 1. 1)
false
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The page at &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/guides/equality#_summary&quot;&gt;https://clojure.org/guides/equality#_summary&lt;/a&gt; explains why, but it would be nice to have that information in the docstring as well.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10992/docstring-for-could-be-made-less-ambiguous-w-r-t-numbers</guid>
<pubDate>Sat, 28 Aug 2021 13:11:55 +0000</pubDate>
</item>
<item>
<title>What do the metalanguage-style symbols on clojuredocs.org mean?</title>
<link>https://ask.clojure.org/index.php/10707/what-do-the-metalanguage-style-symbols-clojuredocs-org-mean</link>
<description>&lt;p&gt;I want to know what the characters mean on the second lines of entries on &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojuredocs.org&quot;&gt;https://clojuredocs.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For example, head on over to &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojuredocs.org/clojure.core/prn&quot;&gt;https://clojuredocs.org/clojure.core/prn&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The first line of that page is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;prn
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The second line is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(prn &amp;amp; more)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What does &lt;code&gt;(prn &amp;amp; more)&lt;/code&gt; mean? How do I interpret that? In particular, how do I interpret the ampersand &lt;code&gt;&amp;amp;&lt;/code&gt;?&lt;/p&gt;
&lt;p&gt;The notation used here reminds me of the &quot;metalanguage&quot; Augmented Backus-Naur form (&lt;a rel=&quot;nofollow&quot; href=&quot;https://en.wikipedia.org/wiki/Augmented_Backus%E2%80%93Naur_form&quot;&gt;https://en.wikipedia.org/wiki/Augmented_Backus–Naur_form&lt;/a&gt;), used to express the grammar of a programming language, and of the usage guidance often given by help entries for programs.&lt;/p&gt;
&lt;p&gt;However, I don't see any documentation anywhere of how to interpret this particular metalanguage, if that's even what's going on here.&lt;/p&gt;
&lt;p&gt;I am especially wondering how to interpret the &lt;code&gt;&amp;amp;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If there is a page somewhere explaining this, I wish it were linked from every entry on &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojuredocs.org&quot;&gt;https://clojuredocs.org&lt;/a&gt;.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10707/what-do-the-metalanguage-style-symbols-clojuredocs-org-mean</guid>
<pubDate>Sat, 19 Jun 2021 15:32:03 +0000</pubDate>
</item>
<item>
<title>Could `clojure.zip/next` docstring be misleading to some?</title>
<link>https://ask.clojure.org/index.php/10584/could-clojure-zip-next-docstring-be-misleading-to-some</link>
<description>&lt;p&gt;I’m wondering if the &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clojure/clojure/blob/59b65669860a1f33825775494809e5d500c19c63/src/clj/clojure/zip.clj#L231-L233&quot;&gt;docstring&lt;/a&gt; for &lt;code&gt;clojure.zip/next&lt;/code&gt; could be misleading to some, it reads:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Moves to the next loc in the hierarchy, depth-first. When reaching the&lt;br&gt;
end, returns a distinguished loc detectable via end? If already at the&lt;br&gt;
end, stays there.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Some people might assume, without more guidance, that the end of the zipper is the last node in the zipper and that calling &lt;code&gt;next&lt;/code&gt; at that point will leave the zipper located at the last node.&lt;/p&gt;
&lt;p&gt;As far I understand it (which may be not far), the Clojure zipper end state is hit when you’ve called &lt;code&gt;next&lt;/code&gt; after the last node in the zipper, after which:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the zipper is no longer navigable or updatable.  &lt;/li&gt;
&lt;li&gt;you can still call &lt;code&gt;root&lt;/code&gt; (or &lt;code&gt;node&lt;/code&gt; which at this point is equivalent to &lt;code&gt;root&lt;/code&gt;), &lt;code&gt;next&lt;/code&gt; and  &lt;code&gt;end?&lt;/code&gt; but otherwise, I think, it is game over.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some code to show behaviour:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(require '[clojure.zip :as czip])
(-&amp;gt;&amp;gt; [1 2 3]
     czip/vector-zip
     (iterate czip/next)
     (take 10)
     (map (juxt czip/node czip/end?)))
;; =&amp;gt; ([[1 2 3] false]
;;     [1 false]
;;     [2 false]
;;     [3 false]
;;     [[1 2 3] true]
;;     [[1 2 3] true]
;;     [[1 2 3] true]
;;     [[1 2 3] true]
;;     [[1 2 3] true]
;;     [[1 2 3] true])
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;next&lt;/code&gt; docstring might want to talk more about what “end” is and what reaching the end state means.  Maybe something like:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Moves to the next loc in the hierarchy, depth-first. &lt;br&gt;
When reaching the end, which is after the last node, returns a distinguished loc detectable via end?. If already at the end, stays there.&lt;br&gt;
When at end, valid calls are end?, next and root.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If the docstring is not the right place, maybe the &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/reference/other_libraries#_zippers_functional_tree_editing_clojure_zip&quot;&gt;zipper overview&lt;/a&gt; could elaborate?&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10584/could-clojure-zip-next-docstring-be-misleading-to-some</guid>
<pubDate>Tue, 11 May 2021 16:53:49 +0000</pubDate>
</item>
<item>
<title>Add warning about not using the ret-val of `assoc!` to the doc string</title>
<link>https://ask.clojure.org/index.php/10521/add-warning-about-not-using-the-ret-val-of-assoc-the-doc-string</link>
<description>&lt;p&gt;From &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/clj-kondo/clj-kondo/issues/1258&quot;&gt;https://github.com/clj-kondo/clj-kondo/issues/1258&lt;/a&gt; :&lt;br&gt;
Some of the functions on transients, specifically assoc! appears to be working even when not handling the return type:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;user&amp;gt; (let [t (transient {})]
        (assoc! t :foo :bar)
        (persistent! t))
;; =&amp;gt; {:foo :bar}
user&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This blows up when we reach more than 8 entries in the map:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;user&amp;gt; (let [t (transient {})]
        (doseq [i (range 10)]
          (assoc! t (str i) i))
        (persistent! t))
;; =&amp;gt; {&quot;0&quot; 0, &quot;1&quot; 1, &quot;2&quot; 2, &quot;3&quot; 3, &quot;4&quot; 4, &quot;5&quot; 5, &quot;6&quot; 6, &quot;7&quot; 7}
user&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This seems to hit both beginner and experienced clojure programmers from time to time, &lt;br&gt;
so it might be worth adding a notice to the doc string.&lt;/p&gt;
&lt;p&gt;Even though &lt;code&gt;conj!&lt;/code&gt; (and perhaps the other fns on transients) seem to work without handling the return type, that might just be an implementation detail, so a warning might be in place there as well&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10521/add-warning-about-not-using-the-ret-val-of-assoc-the-doc-string</guid>
<pubDate>Fri, 23 Apr 2021 21:48:43 +0000</pubDate>
</item>
<item>
<title>Typo in Getting Started: /etc/man_dev.conf ➡ /etc/man_db.conf</title>
<link>https://ask.clojure.org/index.php/10132/typo-in-getting-started-etc-mandev-conf-etc-mandb-conf</link>
<description>&lt;p&gt;The &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/guides/getting_started&quot;&gt;Getting Started&lt;/a&gt; instructions for Linux should refer to &lt;code&gt;/etc/man_db.conf&lt;/code&gt; instead of &lt;code&gt;/etc/man_dev.conf&lt;/code&gt;.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10132/typo-in-getting-started-etc-mandev-conf-etc-mandb-conf</guid>
<pubDate>Mon, 01 Feb 2021 02:57:27 +0000</pubDate>
</item>
<item>
<title>Which argument is which, for bit-shift-left and bit-shift-right?</title>
<link>https://ask.clojure.org/index.php/10130/which-argument-is-which-for-bit-shift-left-and-bit-shift-right</link>
<description>&lt;p&gt;The docstring for &lt;code&gt;(bit-shift-left x n)&lt;/code&gt; says only &quot;Bitwise shift left&quot;.  It does not define either &lt;code&gt;x&lt;/code&gt; or &lt;code&gt;n&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Below the docstring is a link to the source code, but it does not immediately clear up the question, as it delegates to a method of clojure.lang.Number.  &lt;/p&gt;
&lt;p&gt;Suggestion: enhance the docstring along the lines of &quot;Bitwise shift x left by n bits&quot;.&lt;/p&gt;
&lt;p&gt;P.S. Does left mean &lt;em&gt;more-significant&lt;/em&gt; everywhere nowadays?  As Clojure gets implemented in JS and even stranger environments, could the docstring clarify whether Clojure's left and right have a specified mathematical significance (as the Java Language Specification does) or have host-dependent significance?&lt;/p&gt;
&lt;p&gt;P.P.S.  Likewise, &lt;code&gt;bit-shift-right&lt;/code&gt;.  &lt;/p&gt;
&lt;p&gt;P.P.P.S.  Likewise in the ClojureScript docstrings.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10130/which-argument-is-which-for-bit-shift-left-and-bit-shift-right</guid>
<pubDate>Sun, 31 Jan 2021 16:30:04 +0000</pubDate>
</item>
<item>
<title>Is &quot;port&quot; inside core.asyn documentation same as a &quot;chan&quot;?</title>
<link>https://ask.clojure.org/index.php/9987/is-port-inside-core-asyn-documentation-same-as-a-chan</link>
<description>&lt;p&gt;Inside the &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.github.io/core.async/&quot;&gt;documentation&lt;/a&gt; for &lt;code&gt;core.async&lt;/code&gt;, the identifier &lt;code&gt;port&lt;/code&gt; is used as an input to some functions/forms. Is &lt;code&gt;port&lt;/code&gt; the same as &lt;code&gt;chan&lt;/code&gt;? Or is it an interface or a protocol implemented by &lt;code&gt;chan&lt;/code&gt;?&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9987/is-port-inside-core-asyn-documentation-same-as-a-chan</guid>
<pubDate>Tue, 29 Dec 2020 23:51:09 +0000</pubDate>
</item>
<item>
<title>Document how extend-type can be used to provide default protocol implementation</title>
<link>https://ask.clojure.org/index.php/9950/document-extend-provide-default-protocol-implementation</link>
<description>&lt;p&gt;In ClojureScript one can provide default protocol implementations as follows:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(extend-type default 
  AProtocol (f [] ...))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is nicely documented in ClojureScript's &lt;code&gt;extend-type&lt;/code&gt; docstring:&lt;/p&gt;
&lt;blockquote&gt;&lt;ul&gt;
&lt;li&gt;default, meaning the definitions will apply for any value,&lt;br&gt;
unless an extend-type exists for one of the more specific&lt;br&gt;
cases below.&lt;/li&gt;
&lt;li&gt;nil, meaning the definitions will apply for the nil value.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;It may worthwhile to &lt;strong&gt;document how one can provide default implementations for protocols in clojure&lt;/strong&gt; as well, by using &lt;code&gt;extend-type&lt;/code&gt; for &lt;code&gt;Object&lt;/code&gt; &amp;amp; &lt;code&gt;nil&lt;/code&gt;, on &lt;code&gt;extend-type&lt;/code&gt; clj docstring. On the website is documented already.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9950/document-extend-provide-default-protocol-implementation</guid>
<pubDate>Sat, 19 Dec 2020 19:19:57 +0000</pubDate>
</item>
<item>
<title>CLI/deps reference use of :aliases is confusing in a couple of places</title>
<link>https://ask.clojure.org/index.php/9919/cli-deps-reference-use-of-aliases-is-confusing-couple-places</link>
<description>&lt;p&gt;In almost all places where the CLI/deps reference uses &lt;code&gt;:aliases&lt;/code&gt; it means the literal key &lt;code&gt;:aliases&lt;/code&gt; in the &lt;code&gt;deps.edn&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;In two places -- &lt;code&gt;-X[:aliases]&lt;/code&gt; and &lt;code&gt;-M[:aliases]&lt;/code&gt; -- it means instead a list of aliases.&lt;/p&gt;
&lt;p&gt;I think removing the &lt;code&gt;:&lt;/code&gt; in those two cases would be more consistent with the other uses of the &lt;em&gt;word&lt;/em&gt; &quot;aliases&quot; in the text (as opposed to the _keyword &lt;code&gt;:aliases&lt;/code&gt;).&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9919/cli-deps-reference-use-of-aliases-is-confusing-couple-places</guid>
<pubDate>Tue, 08 Dec 2020 06:20:56 +0000</pubDate>
</item>
<item>
<title>Is it legal to apply keys / vals to a sequence of map entries?</title>
<link>https://ask.clojure.org/index.php/9838/is-it-legal-to-apply-keys-vals-to-a-sequence-of-map-entries</link>
<description>&lt;p&gt;The docstrings for &lt;code&gt;keys&lt;/code&gt; and &lt;code&gt;vals&lt;/code&gt; indicate these functions can be applied to maps. But, these functions also evidently work on sequences of map entries.&lt;/p&gt;
&lt;p&gt;For example, this works:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(keys (filter (comp odd? val) {:a 1 :b 2 :c 3}))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Is the above program valid? Are &lt;code&gt;keys&lt;/code&gt; and &lt;code&gt;vals&lt;/code&gt; guaranteed to work on sequences of map entries?&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9838/is-it-legal-to-apply-keys-vals-to-a-sequence-of-map-entries</guid>
<pubDate>Sun, 22 Nov 2020 18:08:57 +0000</pubDate>
</item>
<item>
<title>doc string for reify is missing a statement of what it does</title>
<link>https://ask.clojure.org/index.php/9812/doc-string-for-reify-is-missing-a-statement-of-what-it-does</link>
<description>&lt;p&gt;While the doc string for the function reify is quite detailed, it never seems to say what it does.  The addition of a single sentence near the beginning of the doc string, perhaps one similar to the following, would help:&lt;/p&gt;
&lt;p&gt;&quot;reify defines an anonymous type, and creates and returns an instance of that type.&quot;&lt;/p&gt;
&lt;p&gt;Note: The reference documentation for reify on clojure.org is better in this regard &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.org/reference/datatypes#_reify&quot;&gt;https://clojure.org/reference/datatypes#_reify&lt;/a&gt;  and I copied then edited one of the sentences there to create the one proposed above.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9812/doc-string-for-reify-is-missing-a-statement-of-what-it-does</guid>
<pubDate>Mon, 16 Nov 2020 06:50:30 +0000</pubDate>
</item>
<item>
<title>Clojure Generation PDF blockchain</title>
<link>https://ask.clojure.org/index.php/9513/clojure-generation-pdf-blockchain</link>
<description>&lt;p&gt;Hi guys, I'm going to start developing a project and I want you to recommend some technologies that I can use and be useful for my project.&lt;/p&gt;
&lt;p&gt;Currently I have a system that generates PDF documents, but these documents do not have any type of security, what I want is: Generate PDF documents using blockchain and create a transactional query application for the generated documents&lt;/p&gt;
&lt;p&gt;Can someone make a recommendation to start my project?&lt;/p&gt;
&lt;p&gt;Thank you.!&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9513/clojure-generation-pdf-blockchain</guid>
<pubDate>Mon, 27 Jul 2020 23:41:31 +0000</pubDate>
</item>
<item>
<title>What is the big O for clojure operations?</title>
<link>https://ask.clojure.org/index.php/9468/what-is-the-big-o-for-clojure-operations</link>
<description>&lt;p&gt;Hi, I'm new to clojure.&lt;/p&gt;
&lt;p&gt;I have seen that there are some big O on the data structures part. But, is there a place on documentation showing all the big O of the operations in clojure?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9468/what-is-the-big-o-for-clojure-operations</guid>
<pubDate>Wed, 15 Jul 2020 18:49:21 +0000</pubDate>
</item>
<item>
<title>How to see related functions in cider doc?</title>
<link>https://ask.clojure.org/index.php/9236/how-to-see-related-functions-in-cider-doc</link>
<description>&lt;p&gt;When using Cider, C-c C-d C-d shows the doc for a given functions. There should be a &quot;See also&quot; section at the bottom of the doc, listing related functions(e.g. &quot;doseq&quot; refers to &quot;for&quot;). However it's gone somehow. Did I accidentally turned it off or something? How do I get it back?&lt;/p&gt;
&lt;p&gt;And by the way, where did that &quot;related functions&quot; information come from? It's not written in the doc string...&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9236/how-to-see-related-functions-in-cider-doc</guid>
<pubDate>Tue, 14 Apr 2020 04:19:35 +0000</pubDate>
</item>
<item>
<title>Should (doc get) 'format/example' refer to the 'associative' abstraction rather than a 'map'?</title>
<link>https://ask.clojure.org/index.php/8956/should-format-example-refer-associative-abstraction-rather</link>
<description>&lt;p&gt;(doc get) returns&lt;br&gt;
&quot;-------------------------&lt;br&gt;
clojure.core/get&lt;br&gt;
([map key] [map key not-found])&lt;br&gt;
  Returns the value mapped to key, not-found or nil if key not present.&quot;&lt;/p&gt;
&lt;p&gt;As 'get' works for a vector, as well as a map, I think the function addresses the associative abstraction, so this format would be less misleading:&lt;/p&gt;
&lt;p&gt;([associative key] [associative key not-found])&lt;/p&gt;
&lt;p&gt;Thanks to the experts at ClojureVerse who confirmed that my confusion at the example was justified and suggested I report it here.&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/8956/should-format-example-refer-associative-abstraction-rather</guid>
<pubDate>Fri, 20 Dec 2019 15:20:12 +0000</pubDate>
</item>
<item>
<title>Make clojure.core/get docstring more like clojure.core/get-in?</title>
<link>https://ask.clojure.org/index.php/8910/make-clojure-core-get-docstring-more-like-clojure-core-get-in</link>
<description>&lt;p&gt;The docstring for &lt;code&gt;get&lt;/code&gt; is:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Returns the value mapped to key, not-found or nil if key not present.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Multiple people at my work have found that sentence confusingly terse and hard to parse.&lt;/p&gt;
&lt;p&gt;The docstring for &lt;code&gt;get-in&lt;/code&gt; is:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Returns the value in a nested associative structure, where ks is a sequence of keys. Returns nil if the key is not present, or the not-found value if supplied.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Could the docstring for &lt;code&gt;get&lt;/code&gt; be changed to:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Returns the value mapped to key. Returns nil if the key is not present, or the not-found value if supplied.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Logged and patch attached at: &lt;a rel=&quot;nofollow&quot; href=&quot;https://clojure.atlassian.net/browse/CLJ-2544&quot;&gt;https://clojure.atlassian.net/browse/CLJ-2544&lt;/a&gt;&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/8910/make-clojure-core-get-docstring-more-like-clojure-core-get-in</guid>
<pubDate>Wed, 27 Nov 2019 14:41:18 +0000</pubDate>
</item>
<item>
<title>Migration from Closure to Python 3</title>
<link>https://ask.clojure.org/index.php/8853/migration-from-closure-to-python-3</link>
<description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I would like to see if it is possible to migrate Closure code to Python.&lt;br&gt;
Is-it possible?  Do we have some scripts available to help for this?&lt;/p&gt;
&lt;p&gt;I'm Python coder but don't have any expertise within Closure.&lt;/p&gt;
&lt;p&gt;Can you help me?&lt;br&gt;
Thanks in advance for your answers&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br&gt;
Raoul&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/8853/migration-from-closure-to-python-3</guid>
<pubDate>Wed, 13 Nov 2019 04:15:39 +0000</pubDate>
</item>
<item>
<title>Doc strings for spit and clojure.java.io/writer mention but do not explain opts</title>
<link>https://ask.clojure.org/index.php/3771/doc-strings-for-spit-clojure-java-writer-mention-explain-opts</link>
<description>&lt;p&gt;I was trying to point my users at the reference documentation for spit to help them understand how they could customize output, and found that the options like &lt;code&gt;:append true&lt;/code&gt; are not documented. Even if they are resourceful enough to figure out how to get to the docstring for clojure.java.io/writer itself, the options are not documented there either. I would basically need to teach them how to open a repl to explore the source code, or find it on GitHub, in order to figure this stuff out. Since they are generally not software developers, but musicians or their lighting/visuals staff trying to use a tiny bit of Clojure code to glue together shows, it would be nice if this information was easier to surface.&lt;/p&gt;
&lt;p&gt;Some of this information can be found by scrolling down into examples on clojuredocs.org, but it would seem nice to have a definitive list of the options supported in the doc strings themselves.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Patch:&lt;/strong&gt; clj-2500.patch&lt;/p&gt;
</description>
<category>Docs</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/3771/doc-strings-for-spit-clojure-java-writer-mention-explain-opts</guid>
<pubDate>Mon, 01 Apr 2019 19:42:55 +0000</pubDate>
</item>
</channel>
</rss>