compilers
229 subscribers
17 photos
45 links
Все про компиляторы и языки программирования
Наши чаты:
@procompilers - общий чат по разработке языков.
@code_crafting_ru - чат, где можно вести блог своего языка программирвоания
Download Telegram
😀Напоминаю про дедлайн.
20 июля 10:00 - это последнее время, когда можно сделать пулл реквест. Рассматриваться будут только те языки, которые успели к этому времени
Please open Telegram to view this post
VIEW IN TELEGRAM
9
👨‍💻🐨 До конца приёма работ на langjam осталось 3 часа. 10:00 — это последнее время, когда можно сделать пулл реквест.
Please open Telegram to view this post
VIEW IN TELEGRAM
8
🤩ИТОГИ
Пришло время подводить итоги langjam (plic). Первое место забирает язык программирования Dola. Просьба победителя связаться с @k1ngmang, чтобы забрать свой приз.
Ну а вот какие языки попали в первую пятерку:
1) dola
2) graft
3) ftorlisp
4) ygvm
5) py++
Please open Telegram to view this post
VIEW IN TELEGRAM
12
🗑 Сборка мусора в Python

Если вам было бы интересно узнать об устройстве сборки мусора в Python,
то этот цикл статей точно для вас! В статьях подробно описываются внутренние алгоритмы сборщика мусора Python понятным языком и с примерами. Рекомендуем к прочтению!

https://habr.com/ru/articles/940642/
https://habr.com/ru/articles/951250/
https://habr.com/ru/articles/986784/
https://habr.com/ru/articles/992026/


#Статья #Материал
Please open Telegram to view this post
VIEW IN TELEGRAM
8
🔈Aya-Prover

Интерактивная система, предназначенная для формализации теорий и написания программ с зависимыми типами. Система имеет блог, который содержит не только документацию языка, но и публикации авторов, которые проливают свет на внутреннее устройство проекта: https://www.aya-prover.org/pubs/. Если вам интересны Coq, Agda и подобные, то рекомендую ознакомиться и с Aya.
Please open Telegram to view this post
VIEW IN TELEGRAM
5
😭Сегодня в нашем дискорде смотрели язык V (vlang.io). Помимо того, что компилятор допускает утечку при обычном hello world, так еще и проблемы из review 2023 года не были решены. Забавно, что автор изначально задумывал минималистичный язык, а по итогу мы имеем borrow checker, arena allocator, autofree, manual memory management, а также built-in orm и параллельный сборщик мусора! Интересно, что нужно добавить в V, чтоб он перестал быть минималистичным?
Please open Telegram to view this post
VIEW IN TELEGRAM
10
Нашёл отличный доклад по теме JIT-компиляции в Cpython. В докладе затрагиваются подробности имплементации JIT такие как уникальный механизм copy and patch компиляции и micro codes interpreter.

Что же нам предвещает добавление JIT в коробочную версию cpython? Мы получим бесплатное ускорение всех наших программ и возрадуемся или всё не так просто? Давайте попробуем разобраться вместе.


https://youtu.be/BiVEhI7wYS4?si=1dQFOg1UseCg66Jk
8
Оказывается, обучение нейросети - это тоже компиляция, только случайная и без гарантий. В статье рассказывают, как специальный компилятор Tracr переводит программу на языке RASP в файл с весами трансформера, и зачем это нужно: https://habr.com/ru/companies/selectel/articles/1066052/
6
Haskell для мира FPGA
Clash - функциональный язык описания аппаратуры. Он берёт синтаксис и семантику из Haskell, а его главная идея - создание цифровых схем привычными для программиста методами, а затем компилировать их в синтезируемые VHDL, Verilog или SystemVerilog. Clash унаследовал от Haskell строгую типизацию. Это позволяет на этапе компиляции отлавливать ошибки, которые в классических HDL вылезут только на симуляции или в железе. Вот как на языке выглядит функция КИХ-фильтра:
fir coeffs x = dotp coeffs (window x)
where
dotp as bs = sum (zipWith (*) as bs)
5
Go 1.27
Самый громкий апдейт этого релиза - обобщённые методы. Теперь можно объявлять параметры типа прямо у методов структур, а не только у функций. Из приятного: json получил вторую мажорную версию. Новый пакет работает быстрее, особенно на распаковке, и стал строже: теперь он ругается на невалидный UTF-8 и дублирующиеся ключи в объектах. При этом старый код продолжит работать как раньше, а выигрыш в производительности мы получим бесплатно. Также в профилировщике появился тип goroutineleak, который находит горутины, намертво застрявшие на недостижимых каналах или мьютексах. Весь список изменений можете почитать тут
2