This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-01-08
Channels
- # aws (4)
- # beginners (81)
- # boot (65)
- # cljs-dev (10)
- # cljsjs (1)
- # cljsrn (12)
- # clojure (26)
- # clojure-austin (2)
- # clojure-dusseldorf (2)
- # clojure-russia (123)
- # clojure-spec (23)
- # clojure-uk (12)
- # clojurescript (36)
- # cursive (11)
- # datomic (39)
- # events (1)
- # hoplon (25)
- # incanter (4)
- # leiningen (3)
- # off-topic (5)
- # om (31)
- # re-frame (24)
- # reagent (13)
- # ring-swagger (2)
- # rum (10)
- # untangled (3)
- # yada (10)
in CLJS, if thereโs an uncaught exception in a go
block, taking from the channel returns nil. Is that intended? Is there a workaround other than try/catch inside the go block?
Is there a difference between react hot loader and figwheel in terms of developer UX, or are they basically the same thing implemented in two different languages?
I'm investigating a bug in completion for CIDER in cljs and the cljs-tooling isn't showing a definition for def
in cljs.core
> (keys (a/public-macros 'cljs.core))
(unsafe-bit-and macroexpand unchecked-remainder-int when-first cond->> bit-set import-macros while satisfies? unchecked-subtract-int ns-unmap bit-shift-right aget specify vswap! caching-hash bit-shift-left coercive-not dec < this-as .. delay unchecked-negate simple-benchmark unchecked-inc-int js-str bit-shift-right-zero-fill implements? goog-define pos? specify! if-not alength bit-xor doseq unsigned-bit-shift-right neg? unchecked-float undefined? deftype mask when-let divide coercive-boolean <= if-some * min lazy-seq js-delete truth_ js-debugger let -> coercive-not= doto areduce double bit-and-not unchecked-add-int fn short unchecked-double string? js-arguments unchecked-multiply-int as-> when-not when int > keyword? unchecked-multiply gen-apply-to some->> unchecked-dec defn float js-in es6-iterable amap declare - hash-set or extend-type macroexpand-1 bit-test defmethod time zero? unchecked-dec-int memfn js-obj nil? extend-protocol cond-> dotimes bit-and reify instance? load-file* defonce unchecked-add identical? unchecked-divide-int defn- defprotocol unchecked-subtract assert true? array letfn / bitpos bit-or vector >= loop bit-flip js-mod with-out-str condp cond some-> ns-interns for binding array-map unchecked-byte defmacro unchecked-short inc with-redefs bit-clear list + aset defmulti str coercive-= hash-map if-let false? case exists? bit-not byte max == lazy-cat comment copy-arguments unsafe-cast defrecord make-array unchecked-negate-int unchecked-inc and number? js-comment symbol? when-some unchecked-char ->> js-inline-comment)
>
@dpsutton macros are defined in clj files usually so (and take it with a pinch of salt waiting for better answers) you could try clojure.core
instead
Also namespace inspection for ClojureScript differs a bit
cljs knows what def is, ie, (def x 1)
works, but when asking the tooling, it doesn't know what def is
the tooling seems to know the other macros i just didn't see anything about this one
I don't remember having to handle def as a special case when working with cljs-in-cljs but I don't remember very well now ๐
Maybe yes I don't see it in the namespace and now I am curious too ๐
Probably it is something defined very early but I am surprised that it is not interned
Left some info in the issue
Probably you need access to the compiler state
Unfortunately replumb needs a bump to the latest compiler version but you could use its replumb.ast
in order to inspect it
@arohner this is by design, there might be multiple valid strategies how to handle errors in go blocks, for example you might want to return them as special error values into the channel, or you might want to establish a special side channel for reporting errors, or you might simply eat them and close the channel (the default behaviour), etc. I would recommend you to define your own go
macro wrapper which would implement a strategy of your liking, for example wrapping go body in try-catch, or look at <?
people seem to use quite often:
https://gist.github.com/vvvvalvalval/f1250cec76d3719a8343
https://gist.github.com/metametadata/9f1c205b8092d7b2726f (see links in comments)
is let
a macro in cljs?
@mfikes thanks did not know about special-symbol?
๐