Таким образом, существует алгоритм преобразования терминов лямбда-исчисления в комбинаторную логику с использованием комбинаторов SK. Это производит вещи, которые взрываются в размере. Я хотел бы знать больше об этом взрыве в размере. Однако я не могу придумать лучшего алгоритма. Я слышал, что функциональные языки практически компилируются в комбинаторы, поэтому кажется, что должен существовать лучший алгоритм. Я посмотрел статью Дэвида Тернера на эту тему, и он в основном говорит, что нужно применить несколько оптимизаций, и они вызывают «значительное улучшение».
Означает ли "значительное улучшение", что размер уменьшается только до полиномиального увеличения? Есть ли известный способ преобразования лямбда-терминов в комбинаторную логику только с полиномиальным (или меньшим?) Увеличением? Если такой алгоритм существует, это практично?