Я пытаюсь понять, как работают иерархии Clojure с конструкциями производных и is-a? .Я не уверен, как бы я использовал их с картами и записями в моей программе.Кто-нибудь использовал это?
Я нахожу ваш вопрос немного расплывчатым.Вы читали документацию на веб-сайте Clojure?
http://clojure.org/multimethods
Я считаю, что примеры там довольно просты для следования:
user=> ::rect :user/rect user=> (derive ::rect ::shape) nil user=> (parents ::rect) #{:user/shape} user=> (derive ::square ::rect) nil user=> (ancestors ::square) #{:user/shape :user/rect} user=> (isa? ::square ::shape) true
Есть также это сообщение в блоге сболее "реальный" пример:
http://www.prodevtips.com/2010/06/20/clojure-inheritance/