gavr_sas
210 subscribers
2.66K photos
181 videos
26 files
780 links
JB пропаганда
Download Telegram
gavr_sas
с др меня! дата удобная легко запомнить)
др 911, 256 в году день порогромиста, пятница 13
хех
Первая конфа очень интересного языка Unison состоится 20 сентября и полностью пройдет в дискорде, дешево и сердито.

Это такой Haskell с алгебраическими эффектами(что в 4352 раза удобнее чем выражать сайды монадами) и имаджем вместо текстовых файлов как в Smalltalk

Каждая AST нода генерализуется(все идентификаторы становятся чем то вроде цифр) и от нее берется хеш.

Таким образом 2 функции которые делают тоже самое, но допустим с разными названиями переменных и разным синтаксическим сахаром будут иметь одинаковый хеш

А теперь делаем следующее, в одной табличке храним хеши к реальным аст нодам, а во всех аст нодах используем эти хеши вместо реальных названий функций и типов

Получаем
1) мгновенный рефакторинг
2) возможность иметь пакеты разных версий в дереве зависимостей
3) отсутствие клеша по именам типов\функций
4) ОЧЕНЬ инкрементальную компиляцию, рекомпилить теперь надо буквально только то что изменилось

А теперь закидываем это в распределенную систему и получаем халявный продолжение в комм
🔥2
хм
picotron
5
всегда хотел оказаться в мегаструктуре
Forwarded from апыавы ❄️ (wh1te)
сегодня (оказывается) юбилей у рутрекера!!
🔥5🥰1
ну мы
🔥1
это ОН?
Почему у JVM медленный стартап тайм?

- до прогрева работает интерпретатор байткода
почти у каждого производителя жвма(IBM, Amazon, Oracle) была своя реализация AOT компиляции,
не помогло

- происходит чтение и парсинг всех .class файлов
Решили а шо если запарсить всю структуру зарание, задампать на диск и на старте просто прочитать готовенькое? class data sharing
не помогло


Что же еще там происходит на старте? Оказалось что огромное количество исполнения байткода статических инициализаторов всех стд классов например поднятие с диска всех локалей, датавремя, таймзоны

Даже если эту инициализацию скомпилировать статически это все равно медленно так как непредсказуемо

Проблему решили в GraalVM очень забавно, они просто этого не делают, да в обход спецификации, а когда первый раз понадобится таймзона, только статический инициализатор таймзон и запустят!
Авторы всех АОТ компиляторов кусают теперь локти что не додумались
А также начат Project Leyden по внедлению этой техники в стандарт, но уже с соблюдейнием спецификации https://openjdk.org/projects/leyden/
Можно скачать попробовать билд здесь https://jdk.java.net/leyden/

Так жаба-языки можно будет использовать для написания CLI тулзов и на edge компутинге заместь Go даже без GraalVM и других приседаний!
#JVM
🤯21
Forwarded from Denis Rangelov
Эксперименты Кэссиди Джеймса с акцентными цветами:
This media is not supported in your browser
VIEW IN TELEGRAM
👍1
Внимание! если магическим образом во сне поменять местами сознание и память двух людей, то проснувшись они заметят?
Anonymous Poll
67%
Да
33%
Нет
8%
Рассуждение в комментариях
заказал все таки PlayDate
Forwarded from ⁤⁤⁤⁤⁤⁤⁤P⁤⁤⁤ey⁤⁤⁤ Te⁤⁤⁤a
Попал на свежий мем
когда чуть чуть погуглил Стругацких с незалогиненным гуглом
Forwarded from gavr
Smalltalk со мной разговаривает!!!
Консистентность бейсика:
while - wend
for - next
sub - end sub
if - end if
🥰2