В документации для специальных форм Clojure (http://clojure.org/special_forms) пример для :pre
и :post
выглядит следующим образом:
(defn constrained-sqr [x]
{:pre [(pos? x)]
:post [(> % 16), (< % 225)]}
(* x x))
Как Clojure может определить, является ли карта, содержащая метаданные, определением функции? Разве метаданные не должны предшествовать вектору params? Согласно документации для defn
(http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/defn), синтаксис
(defn name doc-string? attr-map? [params*] body)
с attr-map?
перед вектором параметров. Разве это не правильно:
(defn constrained-sqr
{:pre [(pos? x)]
:post [(> % 16), (< % 225)]}
[x]
(* x x))
Должен ли я подать отчет об ошибке или я неправильно его прочитал?
Извините, что забрал гниды.