On Wed, Nov 11, 2009 at 1:12 PM, Stephen C. Gilardi <squee...@mac.com> wrote:
>
> Here are some of the ideas I've liked best for how to do it.

Thanks for pulling this together.  I like the whole direction
you're going here.

> - require that each "libspec" (reference to a lib) be a vector, disallowing
> naked symbols and prefix extraction via prefix lists. This would mean that
> everything after :uses will be a vector which is known to be a complete
> specification of the dependency's name and how this lib uses it. (This
> regularity would help humans understand and outside-of-Clojure tools have an
> easier time parsing.)

The only time this would bother me in the least is at the REPL.
I find the suggestion of not grouping them at all someone
interesting as well -- a bit like :gen-class.

> - don't "refer" any names from the target namespace into the current
> namespace by default

Hooray!

> - automatically alias the leaf name of the lib as a reference to the lib:

I think this may be ok, maybe even really great, though I think
Rich pointed out that it will encourage the creation of
namespaces with short leaf names.

>  - open question as to whether using :only, :rename, :exclude, or :refer-all
> would suppress the automatic alias and require an explicit :as if an alias
> is also desired.

I vote for minimal magic -- auto alias happens unless you say :as
explicitly.  That does raise the question of how to prevent any
alias.  I don't particularly like either ":as dummy-alias-2" or
":alias false" but I'm not sure what else it could be.  Any other
ideas?

> - remove the special ":refer-clojure" clause in favor of an optional
> "[clojure.core]" within :uses that changes the default for clojure.core away
> from ":refer-all true"

Maybe require [clojure.core :refer-all false] if that's what you
mean?  Seems to me (:uses [clojure.core]) looks a lot like
a no-op.

I think all the other suggestions are good, and maybe more of
them deserve "Hoorays" as well. :-)

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

Reply via email to