clojure-russia

Работа и релокейт: #jobs-rus | #clojure-russia-offtop Телеграм-чат https://t.me/clojure_ru
2017-09-17T20:09:34.000008Z

Подскажите, а как в сабже идиоматично сделать такой тип данных: мап с иерархией ключей? Т.е. то, что в Хаскеле делается data T a = T String a [T a]

2017-09-17T20:19:21.000009Z

Мне бы в идеале получить дерево, чтобы у каждой ноды спрашивать: ее имя (ключ), ее значение (любое, у нас же динамика :)) и список (или вектор или что там еще бывает) дочерних нод. Если список дочерних нод пустой, то это лист.

2017-09-17T20:23:06.000011Z

Или как Сассман завещал, реализовать интерфейс абстрактного типа данных, а потом подменять разные реализации? Например, навскидку приходит в голову дерево (список списков) ключей, и отдельно мапа с этими ключами.

2017-09-17T20:33:51.000023Z

Или мапу, у которой значения будут тоже мапы с 2 полями - собственно вэлью и список таких же мап, пустой на листьях. Наверное это лучше будет смотреться