Описание услуги
Я пишу функциональное программное обеспечение на языке Frege — это по сути диалект Haskell, который компилируется в байт-код Java и работает на любой JVM. Если ваша команда живёт внутри экосистемы Java, но хочет получить гарантии чистого функционального программирования, я помогу соединить эти два мира. За последние несколько лет я выпустил сервисы, библиотеки и утилиты командной строки, где ленивость, неизменяемость и строгая типизация устраняли целые классы ошибок ещё до того, как код попадал в продакшн. Обычно моя работа выглядит так. Я проектирую чистое ядро без побочных эффектов на языке Frege и выношу весь ввод-вывод на границы системы, чтобы бизнес-логика оставалась тестируемой и предсказуемой. Я опираюсь на систему типов, чтобы точно смоделировать вашу предметную область: использую алгебраические типы данных и классы типов вместо защитных проверок на null. Поскольку язык Frege работает прямо на JVM, я пишу аккуратные слои интеграции, которые вызывают существующие библиотеки Java, оборачивают старые классы в безопасные функциональные обёртки и открывают модули Frege обратно для вызова из Kotlin или Java без трения. Ленивость позволяет выражать потоковые конвейеры и бесконечные структуры, экономно расходуя память. Беру на себя и практические вещи: настройку сборки через Gradle или Maven, упаковку, непрерывную интеграцию, тесты на основе свойств в стиле QuickCheck и документацию, понятную вашим Java-инженерам. В результат входят прокомментированный исходный код, воспроизводимая сборка, короткая заметка о принятых типовых решениях и разбор с командой, чтобы вы могли сопровождать код после меня. Нужен ли вам прототип, переписанный ради корректности критический модуль или наставничество по функциональным паттернам на JVM — я отдаю код, корректный по построению и приятный в развитии.