And one more question - clojure.browser.net requires, amongst other things,
goog.net.EventType :as gnet-event-type and goog.net.XhrIo :as gxhrio.
Later, these are used as:

(merge
  (js->clj goog.net.EventType))

and

(extend-type goog.net.XhrIo
...

Is this generally accepted, i.e. should requiring a constructor also make
the constructor available via FQN?


On 15 June 2014 01:38, Colin Fleming <[email protected]> wrote:

> Ah, of course, that's automatically aliased - thanks!
>
>
> On 15 June 2014 00:58, David Nolen <[email protected]> wrote:
>
>> 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.
>>
>
>

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