Now that you understand it, can you explain it me? :)

This simplified version of your snippet still throws the "No such
namespace: c" exception:

  (ns coretest)
  (defn foo [x] x)
  (= 1
    (do
      (alias 'c 'coretest)
      (c/foo true)))

But the following completes without any exceptions:

  (ns coretest)
  (defn foo [x] x)
  (do
    (alias 'c 'coretest)
    (c/foo true))

Only difference is whether or not the result of the "do" expression is
used as arg in a call to "=". I'm stumped.

On Jan 3, 9:28 am, Roger Gilliar <ro...@gilliar.de> wrote:
> > As I understand it, the Clojure reader expects to be able to resolve
> > namespace references as soon as it sees them. Since "alias" is a
> > function, the "c" alias doesn't exist until sometime after the reader
> > has already run.  I think you will encounter a similar problem with
> > the import macro.
>
> Ok,
>
> that makes sense somehow. Thanks for the explanation.
>
> Regards
>   Roger

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