On Sep 3, 2008, at 4:59 PM, Chouser wrote:

>
> On Wed, Sep 3, 2008 at 4:36 PM, Stephen C. Gilardi  
> <[EMAIL PROTECTED]> wrote:
>> I have been thinking recently that "(:refer ...)" would make a good
>> supported reference argument. Instead of "(:refer-clojure ...)", I  
>> suggest
>> "(:refer ...)" which acts like any other call to refer but doesn't  
>> require
>> its arguments to be quoted. "ns" would still refer to all of  
>> clojure if
>> there is no explicit "(:refer clojure ...)" argument present.
>
> Personally, I'd rather nobody use refer for anything except the
> 'clojure namespace itself.  This would also be an argument against
> :use.  But my opinion seems to be in the minority, so I'll once again
> drop it until I can find a new excuse for bringing it up again. :-)

Was that conversation on the list?  Just curious...

>
>> :refer (when you know another namespace is already present and you  
>> want to
>> bring some or all of it into this namespace with filters)
>
> Is there any reason not to use :use in this case?  :use is more
> robust, as it doesn't rely on your assumption that the namespace is
> indeed already present.  The only namespace I'm aware of that doesn't
> behave properly with :use is 'clojure, since it's loaded from
> clojure/boot.clj instead of clojure/clojure.clj.
>
>> I like ":refer" over ":refer-clojure" because it's more general and
>> shorter.
>
> Well, it's not really shorter since you'd have to say ":refer clojure"
> instead of ":refer-clojure".  But it is more general, and therefore
> requires less code to support more cases.  If it's useful, I'm fine
> with it.
>
> The only other point I'll bring up is that it may be slightly less
> surprising for a missing :refer-clojure to automatically refer
> 'clojure than it would be for the more general :refer to have a
> special case for the refering of 'clojure if it's not mentioned.

Having both :use and :refer is unnecessary and will confuse newcomers  
and there's no obvious benefit.

I'm in the :refer-clojure camp, with its absence bringing in all  
symbols from clojure but with a simple way to turn it off.  Perhaps  
(:refer-clojure false) or using a special argument, such as :all, with  
the :exclude filter.

>
>
>> On the subject of shorter, the name "clojure/load" is already in  
>> use, but
>> would be a better name for "load-resources" than "load-resources".  
>> I think
>> we should consider changing the name of the former to something  
>> else like
>> "load-reader" and using "load" for what is now load-resources  
>> (and :load for
>> what is now :load-resources).
>
> I have no objection to this.

Sounds good.

>
>
> --Chouser
>
> >


--~--~---------~--~----~------------~-------~--~----~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to