Speaking strictly for myself, but as someone who spends about half his
professional day writing Clojure: :use is dead, long live :require.

I've found using ":require [foo :refer :all]" rather than ":use foo"
has lead to cleaner, more consistent ns statements in my own code, and
I've made it a policy to convert old :use statements to ":refer :all"
whenever possible.

Travis



On Sat, Mar 9, 2013 at 6:00 PM, Korny Sietsma <ko...@sietsma.com> wrote:
> [reviving a slightly old thread]
> Note that as of clojure 1.4 you can also do:
>   (:require foo.bar :refer :all)
> in fact from comments I've seen elsewhere there is a general intention to
> remove :use entirely?
>
> It'd be good to have some clarity on this.  The vast majority of code
> samples use :use, some with :only.  The docstring for ns doesn't even
> mention :refer! The clojure cheatsheet points to
> http://clojuredocs.org/clojure_core/clojure.core/ns which _does_ have the
> new syntax, in the last couple of examples; and it links to the tutorial at
> http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html
> which uses 'use' throughout, except for an easily missable update half way
> through that says to use :refer.
>
> So, to what extent are people actually deprecating :use ?  I'm introducing a
> new team to clojure and trying to suggest that :refer is the way to go, but
> it's tricky when every code sample out there uses :use.
>
> Especially for the situation where you actually want to import a whole
> namespace - should we be using:
>     (:use midje.sweet)
> or:
>     (:require midje.sweet :refer :all)
> ?
>
> - Korny
>
>
> On 15 February 2013 00:26, Jim foo.bar <jimpil1...@gmail.com> wrote:
>>
>> I know that using a bare :use in the ns macro is generally frowned upon as
>> it provides no hints about what is actually being used...
>>
>> However, I 've got 2 namespaces 'abstractions.clj' and
>> 'concretions.clj'...concretions.clj will eventually use all the protocols
>> defined in abstractions.clj...at the moment it doesn't but as I work through
>> it I want to provide concrete records for all the protocols...
>>
>> Should I just go and :use the entire thing or should I stick with :require
>> and keep typing 'pro/XXX' a million times? That specific namespace is very
>> central to my work...
>>
>> Jim
>>
>> --
>> --
>> 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/groups/opt_out.
>>
>>
>
>
>
>
> --
> Kornelis Sietsma  korny at my surname dot com http://korny.info
> "We do not quit playing because we grow old, we grow old because we quit
> playing" - O.W. Holmes
>
> --
> --
> 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/groups/opt_out.
>
>

-- 
-- 
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/groups/opt_out.


Reply via email to