В deftype
и defrecord
Рич пишет: « defrecord обеспечивает полную реализацию постоянной карты ... ».Значит, записи должны работать как функции?
НЕТ.IPersistentMap
, интерфейс для постоянных карт, не реализует IFn
, интерфейс для функций Clojure.
Однако согласованность была бы хорошей: преобразование карт в записи должно вызывать как можно меньше сюрпризов.Сказав, что ...
- Мы используем записи только там, где ключи являются известными ключевыми словами, поэтому синтаксис ключевое слово как функция всегда был доступен.
- Создание записи - ничтокак создание карты.Я думаю, это еще большее несоответствие.
Надеюсь, это извращение помогает.