Those should be cljs.core/Foo

David

On Sat, Jun 14, 2014 at 6:27 AM, Colin Fleming
<[email protected]> wrote:
> One more question, I've seen things like this a couple of times:
>
> (instance? cljs.core.Delay x)
>
> and
>
> (set! cljs.core.ExceptionInfo.prototype (js/Error.))
>
> Here the JS FQN doesn't use the js/ alias. Is that because instance? and
> set! are considered interop forms, or can fully qualified JS objects be
> referred to anywhere without the alias?
>
>
> On 10 June 2014 01:37, Colin Fleming <[email protected]> wrote:
>>
>> Great, thanks.
>>
>>
>> On 10 June 2014 01:33, David Nolen <[email protected]> wrote:
>>>
>>> That is correct.
>>>
>>> On Mon, Jun 9, 2014 at 9:31 AM, Colin Fleming
>>> <[email protected]> wrote:
>>> > Oh, one other question - does :refer-clojure in CLJS refer both macros
>>> > and
>>> > functions in the same declaration? i.e. I could do something like:
>>> >
>>> > (ns foo
>>> >   (:refer-clojure :only [defn reduce]))
>>> >
>>> >
>>> > On 10 June 2014 01:27, Colin Fleming <[email protected]>
>>> > wrote:
>>> >>
>>> >> Thanks David. I think I'll implement this the way it should work then,
>>> >> and
>>> >> users will see an unresolved symbol warning if they use the incorrect
>>> >> forms.
>>> >> As things get fancier I can provide some explanation and an intention
>>> >> to
>>> >> migrate the incorrect forms to the correct ones.
>>> >>
>>> >> Hopefully this should be done sometime this week. It's looking pretty
>>> >> nice
>>> >> :-)
>>> >>
>>> >>
>>> >> On 10 June 2014 00:21, David Nolen <[email protected]> wrote:
>>> >>>
>>> >>> On Sun, Jun 8, 2014 at 5:55 AM, Colin Fleming
>>> >>> <[email protected]> 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.
>>> >>> >
>>> >>> > 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.
>>> >>>
>>> >>> This is correct. / in ClojureScript should only be used for
>>> >>> namespaces. Any place this isn't the case that isn't one of the
>>> >>> exceptional cases in ClojureScript should be considered an oversight.
>>> >>>
>>> >>> > 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)?
>>> >>>
>>> >>> It's probably worth making an exception for Math for code portability
>>> >>> reasons. The others are proper namespaces. ClojureScript doesn't know
>>> >>> anything about "JS Modules". If a JS library is not required as a
>>> >>> namespace then it should be accessed in the standard way, no /.
>>> >>>
>>> >>> > 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?
>>> >>>
>>> >>> That's correct and it's actually something we take advantage of to do
>>> >>> inlining arithmetic functions etc.
>>> >>>
>>> >>> > I'm assuming that my-namespace.cljs does not implicitly refer
>>> >>> > macros
>>> >>> > from my-namespace.clj - is this correct?
>>> >>>
>>> >>> That is correct.
>>> >>>
>>> >>> David
>>> >>>
>>> >>> --
>>> >>> 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 [email protected].
>>> >>> To post to this group, send email to [email protected].
>>> >>> Visit this group at http://groups.google.com/group/clojurescript.
>>> >>
>>> >>
>>> >
>>> > --
>>> > 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 [email protected].
>>> > To post to this group, send email to [email protected].
>>> > Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>> --
>>> 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 [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>>
>
> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/clojurescript.

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to