What I mean is don't use it when you use :use.

Regards,
Ye He

On Sun, Aug 4, 2013 at 12:52 PM, Takahiro Hozumi <fat...@googlemail.com>
wrote:

> Hi Ye,
>> or at least *Do Not Use *those standard names*.*
> The following guide suggests the opposite.
> http://dev.clojure.org/display/community/Library+Coding+Standards
>> Use good names, and don't be afraid to collide with names in other 
> namespaces. That's what the flexible namespace support is there for.
> Takahiro
> On Sunday, August 4, 2013 11:25:34 AM UTC+9, Ye He wrote:
>>
>> Yesterday, I spent hours trying to figure out why some code didn't work. 
>> The code is like so:
>> (defn replace-symbol-in-ast-node [old new ast]
>>   (tree-replace (symbol old) (symbol new) ast))
>>
>> I use tree-replace directly like this:
>> (ast/tree-replace (symbol 'a) (symbol 'c) (ast/sexp->parsley '(+ a b)))
>>
>> I thought the result would the the same but I was wrong. After hours of 
>> thinking, I finally figured it out.
>> Guess what? The 'symbol' function in the first code snippet is not the 
>> standard 'symbol'. It actually is:
>> (defn symbol [sym]
>>   (make-node :atom (core/vector (name sym))))
>>
>> It's defined in another library. But I stupidly thought it was the 
>> standard 'symbol'.
>> Part of this was my fault, I guess. I shouldn't have taken it for granted 
>> and guessed its meaning. But who know? 
>> In my opinion if we use less :use, it would easier for others to read our 
>> code and less likely to misunderstand the meaning, or at least *Do Not 
>> Use *those standard names*.*
>>
>>
>> On Wednesday, July 24, 2013 1:50:50 AM UTC+10, 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
>>>  
>>>
>>> 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 a topic in the Google 
> Groups "Clojure" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/clojure/i2VzAlT6oqM/unsubscribe.
> To unsubscribe from this group and all its topics, 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