lumo

:lumo: Standalone ClojureScript environment. Currently at version 1.9.0
Jon 2017-10-27T07:40:28.000359Z

a.b$macros=> (ns a.core$macros)
nil
a.core$macros=> (defmacro hell [x] `(+ x 2))
#'a.core$macros/hell
a.core$macros=> (macroexpand '(a.core/hell 1))
(a.core/hell 1)
a.core$macros=> (ns foo.core$macros)
nil
foo.core$macros=> (defmacro hell [x] `(+ x 2))
#'foo.core$macros/hell
foo.core$macros=> (macroexpand '(foo.core/hell 1))
(js* "(~{} + ~{})" foo.core/x 2)

Jon 2017-10-27T07:40:45.000219Z

a.core and foo.core are different? why?

2017-10-27T09:49:15.000002Z

@jiyinyiyong because the macro only gets compiled in $macro suffixed namespaces, http://blog.fikesfarm.com/posts/2015-09-07-messing-with-macros-at-the-repl.html

Jon 2017-10-27T09:49:48.000072Z

https://github.com/anmonteiro/lumo/issues/301

2017-10-27T09:50:07.000491Z

ah sorry, they are both $macros. I'm feverish today, didnt read well.

Jon 2017-10-27T09:50:42.000142Z

yeah, it's very strange to me...

2017-10-27T09:50:58.000325Z

you get the same result from Planck?

Jon 2017-10-27T09:51:12.000007Z

didn't install planck, so didn't try

mfikes 2017-10-27T13:19:34.000097Z

Not reproducible in Planck https://github.com/anmonteiro/lumo/issues/301#issuecomment-339968902

anmonteiro 2017-10-27T15:57:32.000143Z

Probably a simple compilation bug

anmonteiro 2017-10-27T15:57:42.000508Z

Upstream in the compiler