Hi Stuart,
Thanks, that's good to know - I didn't realize the ns macro did that!
I just had a look at the docstring for ns:
"Sets *ns* to the namespace named by name (unevaluated), creating it
if needed. references can be zero or more of: (:refer-clojure ...)
(:require ...) (:use ...) (:import ...) (:load ...) with the syntax
of refer-clojure/require/use/import/load respectively, except the
arguments are unevaluated and need not be quoted. If :refer-clojure
is not used, a default (refer 'clojure) is used. Use of ns is preferred
to individual calls to in-ns/require/use/import:
(ns foo
(:refer-clojure :exclude [ancestors printf])
(:require (clojure.contrib sql sql.tests))
(:use (my.lib this that))
(:import (java.util Date Timer Random)
(java.sql Connection Statement))
(:load \"/mystuff/foo.clj\"))"
It appears that ns provides a lot of "convenience" functionality!
Cheers,
Bill
On Wed, Oct 29, 2008 at 9:44 AM, Stuart Halloway
<[EMAIL PROTECTED]> wrote:
>
> Hi Bill,
>
> Good stuff. You might also mention that when you actually switch to a
> namespace using the ns macro, clojure gets referred, giving you a
> bunch more stuff:
>
> (create-ns 'test)
> #=(find-ns test)
> user=> (count (ns-map 'test))
> 96
> user=> (ns test)
> nil
> test=> (ns user)
> nil
> user=> (count (ns-map 'test))
> 513
>
> Cheers,
> Stuart
>
>> Hi all,
>>
>> I've posted a new article on my blog about Clojure Namespaces:
>> http://bc.tech.coop/blog/081029.html
>>
>> I would appreciate any comments/criticisms or additional insights.
>>
>> Thanks,
>> Bill
>> >
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---