2013/7/25 Phillip Lord <phillip.l...@newcastle.ac.uk>: > Laurent PETIT <laurent.pe...@gmail.com> 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.