今天我在一个reify
形式中遇到了语法错误,错误信息相当晦涩。
(defprotocol Foo
(foo [a]))
(reify Foo
(foo a
(inc a)))
产生以下错误:
语法错误(IllegalArgumentException)在(REPL:1:1)编译时。
不知道如何从clojure.lang.Symbol创建ISeq
如果在错误消息中含有“reify”和“foo”作为线索,这将有助于我更容易地识别错误。
此外,行号和列号不正确 - 它们指的是reify形式的开启括号的版本(行1,列1),而我的错误在第2行,列7。
考虑更好的错误消息,像是
> 在reify
形式中存在语法错误 – 找到的是符号'a',期望找到参数列表。