LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Как только кто-нибудь напишет оптимизатор, который AST с рекурсией преобразует в AST с хвостовой, так сразу.

А почему не написали? А где то написали? Выглядит не слишком сложно, относительно сложности некоторых других оптимизаций, но в ФП коде полезно.

Интересно еще, применима ли где то оптимизация нерекурсивных вызовов, она производится совсем просто, выносом постдействий из А в вызываемую функцию Б, но тогда ее можно вызывать только из функции А, хотя можно вставить аргумент и таблицу переходов, что бы постдействия выбирались на основе теневого аргумента. Но учитывая скорость стека, и вложенность типичной программы это не выглядит полезным.

Исправление MOPKOBKA, :

Как только кто-нибудь напишет оптимизатор, который AST с рекурсией преобразует в AST с хвостовой, так сразу.

А почему не написали? А где то написали? Выглядит не слишком сложно, относительно сложности некоторых других оптимизаций.

Интересно еще, применима ли где то оптимизация нерекурсивных вызовов, она производится совсем просто, выносом постдействий из А в вызываемую функцию Б, но тогда ее можно вызывать только из функции А, хотя можно вставить аргумент и таблицу переходов, что бы постдействия выбирались на основе теневого аргумента. Но учитывая скорость стека, и вложенность типичной программы это не выглядит полезным.

Исправление MOPKOBKA, :

Как только кто-нибудь напишет оптимизатор, который AST с рекурсией преобразует в AST с хвостовой, так сразу.

А почему не написали? А где то написали? Выглядит не слишком сложно.

Интересно еще, применима ли где то оптимизация нерекурсивных вызовов, она производится совсем просто, выносом постдействий из А в вызываемую функцию Б, но тогда ее можно вызывать только из функции А, хотя можно вставить аргумент и таблицу переходов, что бы постдействия выбирались на основе теневого аргумента. Но учитывая скорость стека, и вложенность типичной программы это не выглядит полезным.

Исходная версия MOPKOBKA, :

Как только кто-нибудь напишет оптимизатор, который AST с рекурсией преобразует в AST с хвостовой, так сразу.

А почему не написали? А где то написали? Выглядит не слишком сложно.