Стандартные атрибуты метаданных Clojure

Существует ли «стандартный» список атрибутов метаданных (:author, :copyright и т. д.) для Clojure или мне нужно читать исходный код :-)?

Возможно, ClojureDocs может взять на себя эту задачу (предлагается).


person Ralph    schedule 17.06.2011    source источник


Ответы (2)


Не существует жестких и быстрых правил, которые применяются повсеместно — метаданные «зависят от контекста», поэтому могут иметь разное значение в зависимости от того, к какому объекту вы их прикрепляете.

Обратите внимание, что в разделе веб-сайта Clojure, посвященном метаданным, прямо указано, что метаданные предназначены для "произвольной аннотации данных".

Некоторые комментарии:

  • В некоторых частях Clojure метаданные предназначены для использования определенным образом. Хорошим примером являются метаданные о переменных, описанные в ответе Ральфа.
  • Если вы определяете свою собственную библиотеку с объектами, у которых есть метаданные, вы можете сделать так, чтобы метаданные означали что угодно.
person mikera    schedule 19.06.2011
comment
Разве не имеет смысла хотя бы определить некоторые условия для метаданных? Таким образом, можно было бы написать инструменты, которые ищут и извлекают определенные ключевые слова. - person Ralph; 21.06.2011
comment
Конечно, но я думаю, что в основном они должны быть соглашениями, специфичными для предметной области. В противном случае вы рискуете, что такие инструменты могут совершенно неправильно интерпретировать что-то, что означает разные вещи в разных контекстах.... - person mikera; 21.06.2011

Пока лучшее, что мне удалось найти, это http://clojure.org/special_forms.

person Ralph    schedule 19.06.2011
comment
+1 хороший список, хотя обратите внимание, что они относятся только к метаданным в vars. - person mikera; 19.06.2011