This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-04-29
Channels
- # announcements (4)
- # architecture (1)
- # beginners (113)
- # boot (17)
- # calva (40)
- # cider (9)
- # clara (1)
- # cljs-dev (21)
- # cljsrn (21)
- # clojure (47)
- # clojure-dev (8)
- # clojure-europe (2)
- # clojure-italy (46)
- # clojure-nl (10)
- # clojure-spec (1)
- # clojure-turkiye (1)
- # clojure-uk (46)
- # clojurescript (102)
- # core-async (21)
- # cursive (35)
- # data-science (1)
- # datomic (7)
- # emacs (2)
- # graphql (1)
- # lumo (15)
- # nrepl (4)
- # nyc (1)
- # off-topic (5)
- # overtone (3)
- # pathom (10)
- # quil (6)
- # re-frame (30)
- # reagent (7)
- # reitit (33)
- # rewrite-clj (1)
- # shadow-cljs (37)
- # spacemacs (73)
- # test-check (3)
- # testing (2)
- # vim (59)
@mfikes and I also have those permissions (re: change JIRA permissions) - so feel free to ping us as well
@dnolen I'm trying to wrap my head around this change https://github.com/clojure/clojurescript/commit/78d20eebbbad17d476fdce04f2afd7489a507df7
(let [x 1
test-fn (fn [y] (inc y))]
(test-fn x))
produces var x_80234 = (1);
var test_fn_80235 = ((function (x_80234){
return (function (y){
return (y + (1));
});})(x_80234))
;
test_fn_80235.call(null,x_80234);
I don't understand why the test-fn
is wrapped. that should only be necessary in actual loops?
the above changed the logic which used to check *loop-lets*
which would have been nil
so it wouldn't do anything
loop-lets (cond
(true? is-loop) *loop-lets*
(some? *loop-lets*) (cons {:params bes} *loop-lets*))
*loop-lets*
is always at least ()
so loop-lets
will never be nil (it used to be before that change)
fyi, in clojure let and loop are the same expr
I understand the wrapper fn in a loop context but most lets are not inside a loop so every fn created inside let
bindings has this extra wrapper