Макросы схемы, по крайней мере, разновидность синтаксиса, говорят, что можно произвольно вычислять код для кода. Однако (как в общем случае, так и в конкретном случае, который я сейчас просматриваю) это требует, чтобы вычисление указывалось в терминах рекурсивных функций. Когда я пробую различные варианты этого, я получаю, например.Произвольные вычисления в макросе схемы
main.scm: 32: 71: компиляции: несвязанный идентификатор в модуле (в трансформаторной среде, которая не включает в себя определение времени выполнения) в: развернуть-вары
(реализация является Ракетка, если это важно.)
Похоже, что вы не можете определить именованные функции до тех пор, пока не будет выполнена макросъемка.
Я полагаю, я мог бы прибегнуть к комбинатору Y, но я полагаю, что стоит сначала спросить, есть ли лучший подход?