В настоящее время я использую другой язык ( Shen ) в Clojure.
У Шена есть символ "./", но в Clojure это интерпретируется перед оценкой и, следовательно, приводит к ошибке.
Мне не нужно "./" внутри макроса, который компилирует эту функцию в код Clojure.
Есть ли способ игнорировать это?
Я думаю, что он интерпретируется как квалифицированный символ, но без имени, так как замена его на / или xyz / приводит к тем же сообщениям об ошибках.
Мой текущий макрос так же прост, как
(defmacro kl/trap-error [x [y z r]] `(try ~x (catch Exception '~z ~r)))
Но когда я звоню с кодом Shen, происходит следующее:
kl=> (trap-error (/ 1 0) (./ E (error-to-string E)
RuntimeException Invalid token: ./ clojure.lang.Util.runtimeException (Util.java:156)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: E in this context, compiling:(NO_SOURCE_PATH:0)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: E in this context, compiling:(NO_SOURCE_PATH:89)
Я надеюсь, что кто-то может помочь мне с этим.
Заранее спасибо.