This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-08-22
Channels
- # announcements (3)
- # beginners (22)
- # braveandtrue (6)
- # calva (2)
- # cider (85)
- # cljdoc (1)
- # cljs-dev (21)
- # cljsrn (2)
- # clojure (70)
- # clojure-italy (9)
- # clojure-spec (1)
- # clojure-uk (144)
- # clojure-ukraine (6)
- # clojurescript (109)
- # cursive (59)
- # data-science (15)
- # datomic (40)
- # emacs (8)
- # fulcro (64)
- # funcool (8)
- # graphql (8)
- # hispano (3)
- # hoplon (7)
- # jobs-discuss (29)
- # leiningen (3)
- # luminus (2)
- # off-topic (13)
- # onyx (9)
- # parinfer (49)
- # pedestal (2)
- # portkey (8)
- # re-frame (10)
- # reagent (33)
- # reitit (13)
- # ring (2)
- # ring-swagger (16)
- # shadow-cljs (193)
- # spacemacs (1)
- # sql (19)
- # tools-deps (19)
Work on a better inference algorithm for and
/ or
forms leads to tighter bounds on the result (fewer types, while still being correct): https://dev.clojure.org/jira/browse/CLJS-2869?focusedCommentId=49893&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-49893
does someone have a minimal example that uses :global-exports
? I just found a code generation issue in shadow-cljs which may also affect :global-exports
code. I'm a bit out of the loop how config for this looks though.
basically the exists?
check that the defmulti
does is invalid because foo
resolves to a js/something
There is a minimal example of :global-exports
in the description of https://dev.clojure.org/jira/browse/CLJS-2854
this looks incorrect. I think the resolve call should be done first and all further checks should be done on the resolved sym, not x
(namespace x)
is otherwise pointless since it only works if the input sym is js/...
not the resolved sym
I don’t really see how that line could make a difference at the moment - but yeah make something minimal and report that and assign to me
x
is foo
, it resolves to js/module$...
. (namespace x)
(unresolevd) is checked and not= "js"
. new x
becomes js/module$...
without having its js/
stripped because the old x
wasn't js/
if you can’t make it non-shadow in a reasonable amount of time, then go ahead provide the above - I’m familiar enough with shadow to use that as a starting point
ok I think its not a problem in CLJS since nothing none js/
ever resolves to js/...
. The npm stuff just resolves to module$...
without js/
. at least I can't reproduce it in any way.
ok yeah this is the only (non-locals) case where resolve-var
returns a simple-symbol?
in :name
and shadow-cljs
just resolves to js/the-var
which I can adjust. https://github.com/clojure/clojurescript/blob/81a1ea127974d43a6166fbdae33bcaa296fe9156/src/main/clojure/cljs/analyzer.cljc#L1051-L1055