Fork me on GitHub
Alex Miller (Clojure team)14:03:08

if you're interested in modifying pages, there is now a link in bottom right corner of the footer directly to the github page


seems to be on most pages but the homepage?


oh I guess the homepage isn't in github

Alex Miller (Clojure team)14:03:13

well it is, but not in a public repo :)


clojure homepage gradually starts becoming more and more like lings cars


Hi, I wanted to contribute a tiny improvement to the documentation of reify, by reusing a definition from Hallowway/Bedra's book. The docstring was in clojure src (not clojuredocs), since I was unable to upload a PR, here is the git patch

From 518653f6f947b6241d608db94f9a0b9251a2a9b6 Mon Sep 17 00:00:00 2001
From: Rodrigo Senra <[email protected]>
Date: Mon, 4 Mar 2019 11:23:42 -0500
Subject: [PATCH] Reify docs update

 src/clj/clojure/core_deftype.clj | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/clj/clojure/core_deftype.clj b/src/clj/clojure/core_deftype.clj
index 786f0d4b..c84a81fa 100644
--- a/src/clj/clojure/core_deftype.clj
+++ b/src/clj/clojure/core_deftype.clj
@@ -68,7 +68,9 @@
     [interfaces methods opts]))

 (defmacro reify
-  "reify is a macro with the following structure:
+  "reify is a macro that lets you create an anonymous instance of a datatype that implements either a protocol or an interface.
+   It has the following structure:

  (reify options* specs*)

Please let me know how to best contribute with documentation in the future.


@rodsenra This is a pretty elaborate description of the clojure dev flow:

Alex Miller (Clojure team)16:03:17

Hi @rodsenra, please file an enhancement issue at If you wish to supply a patch, you will need to sign the Clojure Contributor Agreement. FYI, the Adobe docusign site seems to be exhibiting a CORS issue causing a flaky experience right now - we are working to resolve that but not sure when it will be fixed. It would be sufficient just to file the ticket though and no CA is required for that.


Thank you @alexmiller. I was able to sign the agreement (in spite of the problem), and also have created the JIRA issue with the patch attached.


Sorry for the newbie question, but would make sense to change a bit the order in which the ns macro populates the new namespace in:

       (clojure.core/in-ns '~name)
       ~@(when name-metadata
           `((.resetMeta (clojure.lang.Namespace/find '~name) ~name-metadata)))
        ~@(when gen-class-call (list gen-class-call))
        ~@(when (and (not= name 'clojure.core) (not-any? #(= :refer-clojure (first %)) references))
            `((clojure.core/refer '~'clojure.core)))
        ~@(map process-reference references))
Doing clojure.core/refer earlier (maybe right after in-ns) would allow to keep the REPL minimally instrumented even if other things fails while processing stuff from the ns being loaded? Fro a running program the order maybe does not matter, but for REPL sessions would that allow a more fault-tolerant scenario if people (like me) make silly mistakes on the definition of the newly created ns. :thinking_face: Or, maybe there is a very good reason to keep the current order?

Alex Miller (Clojure team)21:03:22

there are some tickets related to loading failures and it's an area we're planning to look at

👍 5
Alex Miller (Clojure team)21:03:21

it would take me some time to properly consider the ordering impacts here


@alexmiller I'm keen to watch those tickets, do you know how I can easily find them?