Проект состоит из двух частей — Kotlin и Kotlin/Native.
По идее мне нужно в Native, но с ним всё печально (хотя казалось бы, куда еще хуже), т.к. я не разбираюсь в LLVM, да и C++ для меня глубоко чужое пока. В очередь на изучение добавляется LLVM, т.к. уже очевидно, что без него жить нельзя.
Чтобы познакомиться, взял для начала джавовую часть. Процедура...
... установки простейшая — пойти на гитхаб, форкнуть и выполнить несколько команд на Apache Ant и Maven. Вначале несколько покоробило использование Анта, но в конце концов, наверное, на это есть причины (начиная с нехватки времени на мимимишные плагины).
Добавим еще печальных известий: комментариев в исходнике практически нет. Код написан довольно ясно, но его объем поражает воображение. Поражает вот в каком смысле: когда ты пишешь очередное веб‑приложение, у тебя есть скорей всего стандартная структура типа MVC фреймворка с контроллерами и сервисами, ты сразу идешь в сервисы и читаешь, что происходит. Дальше нужно прошарить, как устроена БД, и начать писать свои сервисы и методы в контроллерах, выставляя их наружу для фронтендщиков. В целом, код неважен, важна бытовая логика, лежащая за манипуляциями с глобальным состоянием. Здесь же код важен. (Наверное, потом его можно будет легко разделить на важное и мусор, но не сейчас).
На всякий случай я связался с Димой и Андреем и получил ту инфу, что никакой дельной документации о дизайне компилятора не существует. Всё что тут остается делать — это читать весь исходник подряд и комментировать. Дельные комментарии можно пул‑риквестить.
По‑моему, правильным подходом было бы аккуратно документировать всё что видишь, чтобы в результате через несколько месяцев как раз получилось бы что‑то типа architecture reference guide