Здравствуйте, koenig, Вы писали:
K>а давай твои знания пригодятся
K>скажи пожалуйста, вот в кложе есть sorted-map. там внутри какой-то из вариантов бинарного дерева?
K>если просто нужен map, hash-map на любом размере выиграет по скорости?
там красно-черное дерево используется:
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentTreeMap.java
K>есичо я не учу кложу, мне просто персистентные структуры интересны
Посмотреть что лежит внутри крайне просто: запускаешь REPL и смотришь тип создаваемого объекта и идешь в Гугл.
(type (sorted-map))
=> clojure.lang.PersistentTreeMap
Ну, если тебе действительно интересно и это не такая наивная попытка троллинга
KP>Посмотреть что лежит внутри крайне просто: запускаешь REPL и смотришь тип создаваемого объекта и идешь в Гугл.
KP>Ну, если тебе действительно интересно и это не такая наивная попытка троллинга
спасибо!
я с какого-то бодуна решил, что коллекции на самой кложе написаны и не хотел сорцы смотреть
ну и ставить её тоже не хотел
а тут оно всё в одной папке и на яве — просто прекрасно
Здравствуйте, koenig, Вы писали:
KP>>Посмотреть что лежит внутри крайне просто: запускаешь REPL и смотришь тип создаваемого объекта и идешь в Гугл.
K>спасибо!
K>я с какого-то бодуна решил, что коллекции на самой кложе написаны и не хотел сорцы смотреть
По моим ощущениям ядро и вообще все критичные части (компилятор, встроенные типы и т.д.) написаны на Java. Ну а библиотеки уровня пользователя уже на самой Clojure. При этом разработчики компилятора придерживаются принципа минимального ядра и основная масса фич доступна в виде библиотек.
K>ну и ставить её тоже не хотел
K>а тут оно всё в одной папке и на яве — просто прекрасно
Часть функциональности которую логически можно было бы отнести к ядру, например спеки, часто просто библиотеки но уже на CLojure:
https://github.com/clojure/spec.alpha