On Aug 5, 2013, at 4:40 AM, Korny Sietsma wrote:
>
> 3. Use ":refer :all". It's perfectly fine, IMHO, when used responsibly.
I agree in principle, but as I mentioned earlier in a related thread, when I
actually tried to convert my :use instances to :require :refer :all I learned
(I think!) that this cannot be done without substantially increasing the size
of the ns declaration.
The problem is that :use allows one to list a bunch of namespaces in one
declaration reasonably concisely, as in:
(ns use2require.core
(:use [use2require myfns yourfns]))
while :require :refer :all requires a separate entry (and a separate :refer
:all) for each namespace, as in:
(ns use2require.core
(:require [use2require.myfns :refer :all]
[use2require.yourfns :refer :all]))
or
(ns use2require.core
(:require [use2require [myfns :refer :all]
[yourfns :refer :all]]))
Of course it's not a big deal with only two namespaces, but if you have dozens
then this would be a real escalation in the size of the ns declaration.
Or am I missing something, and maybe there's a more concise way to use :require
:refer :all that approximates the amount of code required for :use?
FYI the thread in which I previously posted this, and on which several others
had comments, can be found at:
http://grokbase.com/t/gg/clojure/137v769emd/help-actually-changing-use-to-require-refer-all
If I haven't missed something then I'd advocate for an enhancement to :require
:refer :all that fixes this OR the retention of :use.
-Lee
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.