Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 41 мин. 30 сек. назад

Как индексация строк изменила систему типов HydraScript

вс, 10/18/2026 - 04:59

В HydraScript мне понадобились две привычные операции со строками: получить длину и обратиться по индексу. Массивы уже умели и то и другое. Чтобы научить этому строки, нужно было поправить несколько мест в семантическом анализаторе: каждое по-своему решало, что разрешено делать с типом.

Заодно появился повод разобраться, почему эти правила оказались именно там. Тип строки в интерпретаторе был, а за списком доступных ему операций приходилось идти в обработчики разных выражений. Добавляешь возможность строке, а её поведение собираешь по всему анализатору.

HydraScript — мой интерпретируемый язык, написанный на C#. В нём статическая типизация, поэтому несовместимые операции нужно отсеять до исполнения. Для поддержки text[index] мало достать символ из .NET-строки: анализатор должен понять, допустимо ли выражение и какой у него тип.

Читать далее

Как я подружил блок‑головоломку с Шопеном на WebAudio

вс, 10/18/2026 - 03:22

Я делаю Blocturne, головоломку с блоками для Telegram. Механика знакомая по Block Blast: поле 8×8, три фигуры в лотке, собираешь ряды и столбцы. Сверху прикручен подсчёт как в Balatro: фишки умножаются на множитель, между раундами лавка с предметами. Но рассказать хочу про звук, потому что с ним я провозился дольше, чем со всем остальным.

Читать далее

L×Box: от VPN‑клиента до экосистемы управления сетевым трафиком

вс, 10/18/2026 - 02:32

Я рассказываю тут про развитие VPN-клиента L×Box, его ядра и десктоп-версии.
Новость месяца: L×Box уже доступен в Google Play

Проект быстро развивается: пока я дописывал раздел про форк, ядро проехало три минорных релиза. Пока описывал фичесет приложения, вышло 27 релизов. Так что все технологические фишки тут не смогу описать — только главное и интересное, и поговорим про позиционирование!

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 2 гостя.