Опис послуги
ПерекладЯ функціонально-логічний програміст і професійно працюю на мові Curry, тому пропоную проектувати та реалізовувати декларативні рішення там, де звичайний імперативний код перетворюється в путаницю. Мова Curry об'єднує чисті функції у дусі Haskell з логічним програмуванням: я описую задачу як набір відносин, а звуження та недетерміноване обчислення самі обходять простір пошуку. Це мій щоденний інструмент. За останні роки я написав розв'язувачі з обмеженнями, рушії для головоломок та розкладів, синтаксичні аналізатори та невеликі предметні мови, завжди вибираючи читаний рівняння ручної оптимізації циклів. Звичайний хід роботи такий: ми узгоджуємо специфікацію, я моделюю предметну область алгебраїчними типами та зразками функцій, додаю вільні змінні та недетерміноване вибір там, де потрібен перебір, та інкапсулюю результат, щоб викликаючий код отримував детерміновані та тестовані відповіді. Основні системи — PAKCS та KiCS2; я вмію знаходити, де перебір вибухає, та заздалегідь додаю обмеження, щоб його підрізати. У поставку входять прокоментований вихідний код, коротка замітка про декларативну модель, набір тестів та созвон-розбір, щоб ваша команда могла супроводити код. Допомагаю й академічним проектам: еталонні реалізації до статей, учбові приклади, відтворюванні артефакти для оцінки. Якщо у вас комбінаторна або заснована на правилах задача і потрібне ясне рішення, а не чорна скринька, мова Curry підходить чудово, і я з радістю зберу його разом з вами.