Chris Bilson
Chris Bilson

Reputation: 1904

Is it possible to document fields in a record in clojure?

For example:

(defrecord Contract [^{:doc "primary identifiers..."} contract-id])

But this doesn't seem to work:

(doc Contract)

clojure.lang.Cons cannot be cast to clojure.lang.Symbol
[Thrown class java.lang.ClassCastException]

Maybe you can't document record fields?

Upvotes: 7

Views: 241

Answers (1)

Arthur Ulfeldt
Arthur Ulfeldt

Reputation: 91534

defrecord compiles a new class and uses these names as the fields of that class. Unfortunatly classes predate clojure and leave no room for metadata :(

The class will have the (immutable) fields named by
fields, which can have type hints.

Upvotes: 4

Related Questions