Another one - I've seen some forms like (goog.typeOf x), which implies that
JS root objects can be used directly? This is something I haven't seen
documented anywhere.


On 8 June 2014 21:55, Colin Fleming <colin.mailingl...@gmail.com> wrote:

> Hi all,
>
> I'm working on CLJS symbol resolution for Cursive. There are a lot of
> corners where it's hard to figure out from the doc how they should work -
> I've looked through the code but I'm not sure I've got it all right.
>
>    1. I've seen several times in the group here that / should only be
>    used for CLJS namespaces, never for JS properties. So (Array/isArray ...)
>    should be (js/Array.isArray ...) instead. Is this correct? ClojureScript:
>    Up and running states that / can be used for JS module objects, which I
>    take to mean root-level objects - their example is (Raphael/color....) from
>    the Raphael JS library. Their discussion of the differences in this-binding
>    is confusing since it seems that / *should* be used for JS but only in
>    the case of top-level objects.
>    2. confirm-ns in analyzer.clj contains a list of namespaces which
>    should not warn, i.e. which are implicitly required, as I understand it
>    (cljs.core, goog, Math, goog.string). CLJS itself contains examples like
>    (Math/floor...) - does this mean that JS module objects are considered
>    namespaces? Is this true of provide'd Google Closure namespaces (e.g.
>    goog.string, which is also used like this in the CLJS source)?
>    3. Using e.g. :include-macros, it's possible to have the same alias
>    refer both to a CLJS and CLJ namespace simultaneously. I'm assuming that in
>    this case, if a symbol name were to conflict, that the macro form would
>    take precedence in the head of a list (since macroexpansion happens before
>    evaluation) but the CLJS form would take precedence everywhere else. Is
>    this correct?
>    4. I'm assuming that my-namespace.cljs does not implicitly refer
>    macros from my-namespace.clj - is this correct?
>
> Thanks for any clarification!
>
> Cheers,
>
> Colin
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to