Agree that :use should be deprecated, mostly as it's quite a barrier to
folks new to the language that you need to know 3 different parts of the ns
macro before you start.

However "objectively bad" is strong language indeed. ":refer :all" is vital
anywhere you want a DSL - if using something like Korma, for example, you
have 3 options :

1. Use :as and fill your code with ugly things like "(k/select user
(k/where {:name [k/like " fred"]})

2. Use ":refer [select where like..." and almost every other symbol in
Korma - might be ok if you have a perfect IDE, but still needlessly verbose

3. Use ":refer :all". It's perfectly fine, IMHO, when used responsibly.

- Korny
 On 5 Aug 2013 09:09, "Anthony Grimes" <disciplera...@gmail.com> wrote:

> I can't think of a single good reason to not deprecate :use. :require can
> do everything :use could do now.
>
> This isn't about whether or not (:use ..) without :only is bad. I'd go as
> far as to say that outside of test files (and sometimes not even those) and
> repl sessions, :use without :only is objectively bad. Not much
> justification you can give me that'll make it unbad. But that isn't what
> this is about. Deprecating :use doesn't make doing the aforementioned bad
> thing impossible, and :refer :all was added to require for that specific
> purpose. :require still lets you do bad things if you really want to. All
> we're doing by deprecating :use is removing cruft and making things less
> complicated for new people. We currently have two things, and one of them
> does all the things the other one does and more, yet we still have both of
> them.
>
> Just my $0.02.
>
> On Tuesday, July 23, 2013 8:50:50 AM UTC-7, Greg wrote:
>>
>> I think I read somewhere that :use is no longer encouraged, but I could
>> be mistaken.
>>
>> From what I've read, it seems like most people agree that Clojure has too
>> many ways of including/importing/**referencing/requiring/using things:
>>
>> http://blog.8thlight.com/**colin-jones/2010/12/05/**
>> clojure-libs-and-namespaces-**require-use-import-and-ns.html<http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html>
>>
>> The above gives a very nice explanation of all the various difference,
>> but it also acknowledges their complexity.
>>
>> Since :use uses :require, and since :require can do everything that :use
>> can, can we simplify Clojure programming a bit for newcomers by deprecating
>> the use of :use? The situation in ClojureScript is even worse because it
>> adds :require-macros on top of all the other ways of including files.
>>
>> Ideally, it would be awesome if there was just a single directive for
>> everything, but perhaps there's some complicated low-level reason why
>> that's not possible. :-\
>>
>> Thoughts?
>>
>> Thanks,
>> Greg
>>
>> P.S. If this has already been brought up you have my sincere apologies.
>>
>> --
>> Please do not email me anything that you are not comfortable also sharing
>> with the NSA.
>>
>>  --
> --
> 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