Описание услуги
Я пишу боевой код на Chez Scheme для команд, которым нужна настоящая нативная скорость, а не интерпретатор, красиво выглядящий только в демо. За последние девять лет я выпустил компиляторы, инструменты рантайма и долгоживущие сервисы на Chez Scheme, включая работу прямо под бэкендом Racket, где именно Chez Scheme несёт основную нагрузку. Если у вас есть численное ядро, парсер, движок правил или конвейер данных, который слишком медленный на скриптовом языке, я перенесу его на Chez Scheme и заставлю работать почти как написанный вручную C.
Ежедневно я использую всю поверхность R6RS: чистую структуру библиотек, фазовые импорты, корректные типы записей, иерархии условий и переносимый ввод-вывод. Мне комфортно глубоко в системе макросов — я пишу гигиеничные преобразования на syntax-rules и полноценные трансформеры syntax-case, строю небольшие встроенные DSL и привожу в порядок запутанные макросы, чтобы они раскрывались предсказуемо и компилировались быстро. Когда важна производительность, я читаю машинный код, который порождает Chez Scheme, подбираю уровни оптимизации, срезаю аллокации, применяю специализации по flonum и fixnum и обращаюсь к небезопасным примитивам только там, где это доказуемо корректно.
Встраивание и взаимодействие — большая часть моей работы. Я связываю Chez Scheme с C и Rust через его интерфейс внешних функций, делаю Scheme скриптовым слоем внутри крупного хоста и упаковываю boot-файлы и объектный код так, чтобы деплой был единым артефактом. Также беру на себя потоки, управление ресурсами в духе custodian, обработку сигналов и корректное завершение для сервисов, которые должны жить месяцами.
Типовой результат: работающий и измеренный модуль или сервис, читаемый набор тестов, скрипты сборки и короткий документ с описанием архитектуры и способов расширения. Я профилирую до и после, поэтому ускорения измерены, а не заявлены. Пришлите медленный код или черновое ТЗ — и я честно скажу, подходит ли здесь Chez Scheme и какой выигрыш реален.
Ежедневно я использую всю поверхность R6RS: чистую структуру библиотек, фазовые импорты, корректные типы записей, иерархии условий и переносимый ввод-вывод. Мне комфортно глубоко в системе макросов — я пишу гигиеничные преобразования на syntax-rules и полноценные трансформеры syntax-case, строю небольшие встроенные DSL и привожу в порядок запутанные макросы, чтобы они раскрывались предсказуемо и компилировались быстро. Когда важна производительность, я читаю машинный код, который порождает Chez Scheme, подбираю уровни оптимизации, срезаю аллокации, применяю специализации по flonum и fixnum и обращаюсь к небезопасным примитивам только там, где это доказуемо корректно.
Встраивание и взаимодействие — большая часть моей работы. Я связываю Chez Scheme с C и Rust через его интерфейс внешних функций, делаю Scheme скриптовым слоем внутри крупного хоста и упаковываю boot-файлы и объектный код так, чтобы деплой был единым артефактом. Также беру на себя потоки, управление ресурсами в духе custodian, обработку сигналов и корректное завершение для сервисов, которые должны жить месяцами.
Типовой результат: работающий и измеренный модуль или сервис, читаемый набор тестов, скрипты сборки и короткий документ с описанием архитектуры и способов расширения. Я профилирую до и после, поэтому ускорения измерены, а не заявлены. Пришлите медленный код или черновое ТЗ — и я честно скажу, подходит ли здесь Chez Scheme и какой выигрыш реален.