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