我试图在我的规范中实现可追溯性。
(在这里,“规范”指的是 s/def
和 s/fdef
块。)
最初,我想到用元数据来实现这个想法。然而,这很不可行:下面的代码会给我语法错误…(元数据只能应用于 IMetas。
)
(require
'[clojure.spec.alpha :as s])
(s/def
^{:rule "205.3i"
:version "2020.06.01"}
::basic-land-type #{::forest ::island ::mountain ::plains ::swamp})
我能想到的唯一其他方法是 somehow 将元数据作为一个“守护者”元素附加到文件中(比如说,一个 def
)
但是,它看起来相当难看…
(def
^{:rule "205.3i"
:version "2020.06.01"}
tracing-info "(see metadata)")
有人知道一些方法我可以用来实现这个目标吗?