gavr_sas
Photo
теперь мне интересно, эта картинка стала маскотом или уже была и ее просто юзанули в том арте
Документалка по котлину от команды подкаста мы обречены
https://youtu.be/E8CtE7qTb-Q
https://youtu.be/E8CtE7qTb-Q
YouTube
Beyond The Success Of Kotlin / The Documentary by EngX
Almost 15 years ago, a small engineering team at JetBrains embarked on what seemed like a crazy endeavor — to create their own programming language and succeed with it. In the early 2010s, Java was one of the most popular languages, used by millions of engineers.…
потестил tinygo, это такой альтернативный компилятор го с llvm бекендом, он отличается от основного тем что делает упор на размере бинаря и быстродействии, а не скорости компиляции, например через ескейп анализ определяются переменные которые можно не выделять на хипе.
к сожалению скорость компиляции ужасающая, 2.75 сек на хелло ворд, 800 мс на перезапуск только что скомпилированного, полное отключение оптимизаций(дефолт - size) особо ничего не меняет
нива которая делает roundtrip .niva -> .kotlin -> gradle -> jvm успевает отрабатывает за 1 сек с изменениями и теже 700-800 без изменений и это с учетом запуска этого хелло ворда
(рассматривал tinygo как альтернативный бекенд)
к сожалению скорость компиляции ужасающая, 2.75 сек на хелло ворд, 800 мс на перезапуск только что скомпилированного, полное отключение оптимизаций(дефолт - size) особо ничего не меняет
нива которая делает roundtrip .niva -> .kotlin -> gradle -> jvm успевает отрабатывает за 1 сек с изменениями и теже 700-800 без изменений и это с учетом запуска этого хелло ворда
(рассматривал tinygo как альтернативный бекенд)
👍1😢1
gavr_sas
с др меня! дата удобная легко запомнить)
др 911, 256 в году день порогромиста, пятница 13
хех
хех
Первая конфа очень интересного языка Unison состоится 20 сентября и полностью пройдет в дискорде, дешево и сердито.
Это такой Haskell с алгебраическими эффектами(что в 4352 раза удобнее чем выражать сайды монадами) и имаджем вместо текстовых файлов как в Smalltalk
Каждая AST нода генерализуется(все идентификаторы становятся чем то вроде цифр) и от нее берется хеш.
Таким образом 2 функции которые делают тоже самое, но допустим с разными названиями переменных и разным синтаксическим сахаром будут иметь одинаковый хеш
А теперь делаем следующее, в одной табличке храним хеши к реальным аст нодам, а во всех аст нодах используем эти хеши вместо реальных названий функций и типов
Получаем
1) мгновенный рефакторинг
2) возможность иметь пакеты разных версий в дереве зависимостей
3) отсутствие клеша по именам типов\функций
4) ОЧЕНЬ инкрементальную компиляцию, рекомпилить теперь надо буквально только то что изменилось
А теперь закидываем это в распределенную систему и получаем халявный продолжение в комм
#lang
Это такой Haskell с алгебраическими эффектами(что в 4352 раза удобнее чем выражать сайды монадами) и имаджем вместо текстовых файлов как в Smalltalk
Каждая AST нода генерализуется(все идентификаторы становятся чем то вроде цифр) и от нее берется хеш.
Таким образом 2 функции которые делают тоже самое, но допустим с разными названиями переменных и разным синтаксическим сахаром будут иметь одинаковый хеш
А теперь делаем следующее, в одной табличке храним хеши к реальным аст нодам, а во всех аст нодах используем эти хеши вместо реальных названий функций и типов
Получаем
1) мгновенный рефакторинг
2) возможность иметь пакеты разных версий в дереве зависимостей
3) отсутствие клеша по именам типов\функций
4) ОЧЕНЬ инкрементальную компиляцию, рекомпилить теперь надо буквально только то что изменилось
А теперь закидываем это в распределенную систему и получаем халявный продолжение в комм
#lang
🔥2