Функциональный язык программирования на основе лямбда-исчисления.
spell fact n ->
if n == 0
then 1
else n * (cast fact with n - 1)
whisper (cast fact with 0)
whisper (cast fact with 1)
whisper (cast fact with 5)
whisper (cast fact with 10)
git clone https://github.com/MAILabs-Edu-2026/funcpro-coursework-hope-squad.git cd funcpro-coursework-hope-squad dotnet build poof dotnet run --project poof -- examples/factorial.poof
| Конструкция | Пример |
|---|---|
| Переменная | bind x to 42 |
| Функция | spell double n -> n * 2 |
| Вызов | cast double with 5 |
| Условие | if x > 0 then 1 else -1 |
| Список | [1, 2, 3] |
| Map | enchant (x -> x*2) [1,2,3] |
| Filter | sieve (x -> x>2) [1,2,3,4] |
| Вывод | whisper "Hello" |
| Ввод | listen |
examples/factorial.poof — факториалexamples/fibonacci.poof — числа Фибоначчиexamples/fizzbuzz.poof — FizzBuzzexamples/quicksort.poof — быстрая сортировкаexamples/y_combinator.poof — Y-комбинаторИИ помогал с:
ИИ не делал: интерпретатор, архитектурные решения, понимание багов без нашего объяснения.
Чему научились: Работа с ИИ требует глубокого понимания кода. ИИ — помощник, а не автор.