This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-02-16
Channels
- # announcements (2)
- # aws (2)
- # babashka (29)
- # beginners (69)
- # calva (6)
- # chlorine-clover (2)
- # cider (1)
- # cljs-dev (4)
- # clojure (44)
- # clojure-israel (1)
- # clojure-spec (3)
- # clojure-uk (31)
- # clojured (2)
- # clojurescript (6)
- # code-reviews (22)
- # core-typed (133)
- # cryogen (6)
- # cursive (7)
- # datomic (25)
- # emacs (19)
- # fulcro (69)
- # graalvm (1)
- # graphql (7)
- # lumo (1)
- # off-topic (92)
- # parinfer (2)
- # pedestal (6)
- # reagent (5)
- # remote-jobs (1)
- # shadow-cljs (11)
- # tools-deps (20)
- # tree-sitter (1)
- # vim (4)
- # vscode (6)
I'm experiencing a problem with multi-arity macros in self-hosted CLJS in 1.5.520 (planck and lumo):
cljs.user=> (defmacro foo [] '[1 2 3])
#'cljs.user/foo
cljs.user=> (foo)
[1 2 3]
cljs.user=> (defmacro foo ([x] '[1 2 3]) ([x y] '[1 2 3 4]))
#'cljs.user/foo
cljs.user=> (foo 1)
Invalid arity: -1
Could be that this is fixed in CLJS 1.5.597, but I haven't got a planck or lumo running that version.repro:
$ clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.597"}}}' -m cljs.main -re node
ClojureScript 1.10.597
cljs.user=> (require '[cljs.js :refer [eval-str]])
cljs.user=> (eval-str (cljs.js/empty-state) "(ns foo.bar) (defmacro foo ([x] 1) ([x y] 2)) (foo 1)" nil {:eval cljs.js/js-eval } prn)
{:error #error {:message "ERROR", :data {:tag :cljs/analysis-error}, :cause #object[Error Error: Invalid arity: -1]}}
nil