Ho clojurescript che importa con successo macro da altri namespace. Ma mi chiedo se una costruzione a file singolo sia/dovrebbe essere possibile con clojure 1.7, in modo tale che una macro possa essere definita e utilizzata. Quello che ho provato non funziona, ma forse ho perso un dettaglio da qualche parte.può cljc definizioni di macro a file singolo per funzionare con clojurescript?
(ns cljc.core)
#?(:cljs
(enable-console-print!))
#?(:clj
(defmacro list-macro [x y]
`(list ~x ~y)))
(defn foo [a]
(println (list-macro a a)))
(foo :a)
Questa forma viene a mancare con list-macro
essere undefined durante la compilazione cljs; se rimuovo: clj guard around list-macro, defmacro non è definito nella compilation cljs. C'è un modo?
No. Le macro ClojureScript sono ancora Clojure. Fanno il loro lavoro per compilare il tempo - quando il codice ClojureScript viene compilato su JavaScript. Quindi devono essere compilati (da Clojure in JVM) prima di eseguire qualsiasi compilazione ClojureScript. – muhuk