+1 on Phil's "proposal"
"My assumption from our discussion would be that a warning would be added 
in a near release when :use was detected in the ns macro, and that it would 
be removed for Clojure 2.0 when backwards-incompatible changes are OK."


Thanks
Ryan


On Thursday, July 25, 2013 12:07:53 PM UTC-4, Laurent PETIT wrote:
>
> 2013/7/25 Phillip Lord <philli...@newcastle.ac.uk <javascript:>>: 
> > Laurent PETIT <lauren...@gmail.com <javascript:>> writes: 
> >> (:use foo :only [a b c]) will become (:require foo :refer [a b c]) 
> >> (:use foo) will become (:require foo :refer :all) 
> > 
> > The same logic could suggest we remove "or" because we can express it 
> > with "and" and "not". 
>
> Except nobody complains about "or", "and" or "not" ;-) 
>
> > 
> >> This will save lots of time and frustration among people trying to 
> >> remember why (:use :only) somewhere, why (:require :refer :all) 
> >> somewhere else, etc. 
> > 
> > And cause frustration for people who find typing 
> > 
> > (:require clojure.test :refer :all) 
> > 
> > when they used to type 
> > 
> > (:use clojure.test) 
>
> Code is read more often than written. 
> Clojure makes default choices "easy", and non default choices "harder" 
> for a reason: to guide people. 
>
> It's like the mantra "if you find it hard to write, you may be doing 
> it wrong (though it's still possible to do)". 
>
> Also, for the REPL, there will still be the (use 'clojure.tests) call 
> that you can use in your REPL bootstrapping code. 
>
> > To me, the discussion seems to be confused; I understand why making an 
> > implementation simpler is important. But removing a simple declaration 
> > to replace it with a more complex one doesn't seem to make things 
> > simpler to me. 
>
> I don't think I'm confused, AFAIC: I'm not even thinking from the 
> implementation perspective, but from the consumer perspective. 
> It's also psychological: if you remove :use, even at the cost of 
> keeping :refer :all, that's one less top-level 'ns directive to 
> remember. 
>
>
> I agree that it is micro-optimization, but this counts too, noticeably 
> because it's one of the first things a newcomer is confronted to when 
> he starts seriously with the language. 
>

-- 
-- 
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