Описание услуги
Я пишу боевой системный код на ATS (Applied Type System) — языке, который позволяет совместить скорость работы на голом железе с математически проверенной корректностью. Если вам нужен драйвер, встраиваемая процедура, парсер или горячий участок, который не имеет права утекать по памяти или читать за границей буфера, я закодирую эти гарантии прямо в системе типов. В ATS компилятор заставляет меня закрыть обязательства доказательства ещё до того, как код соберётся, поэтому целый класс ошибок, которые в C уходят в релиз незаметно, здесь просто не компилируется. Работа начинается с ваших инвариантов. Мы договариваемся, что должно выполняться: никаких двойных освобождений, никакого выхода за границы, линейное владение каждым ресурсом, гарантированное завершение рекурсивных процедур. Дальше я выражаю это зависимыми типами и линейными доказательствами, реализую по ним код и отдаю результат, который несёт собственный сертификат безопасности. Поскольку ATS компилируется в чистый C, итог без проблем встраивается в вашу сборку и работает без накладных расходов на сборщик мусора. В поставку входят исходники на ATS, сгенерированный C, скрипт сборки, небольшой тестовый стенд с аннотациями доказательств и текстовое пояснение по каждому доказанному инварианту. За годы низкоуровневой работы я делал и lock-free структуры, и безопасные привязки ATS к старым библиотекам на C. Рассуждать об указателях, размерах и временах жизни на уровне формальной логики для меня привычно. Опишите ограничение, которое вас беспокоит, и я превращу его в теорему, которую компилятор проверяет при каждой пересборке.