История изменений
Исправление dsxl, (текущая версия) :
не сложнее чем увидеть хвостовой вызов
сложность примерно одинаковая, но оптимизации гарантируются не специфической формой записи, которую компилятор превратит в цикл (если автор не напутал чего, или как в случае с плюсами, например, не появится где-нибудь деструктор и т.п. веселье), а просто наличием самого цикла в коде (и отсутствием рекурсии).
мистический декоратор
для мемоизации
ну видишь, сам же прекрасно знаешь, что никакой он не мистический. Ну, называется он по-дибильному - так это Гвидо виноват. В другом языке будет называться memoize и вызываться как функция высшего порядка. Сути-то это не меняет.
свопы
Уж точно понятнее, чем fibr с тремя агрументами. Ну, а вобще это специфика числовых рядов.
от себя добавлю нередкую необходимость явного копирования
Весь мой поинт в том, что оптимизация и должна быть явной.
В нормальном фп интерпретаторе/компиляторе ничего сломать нельзя нормальный, не писаный за два дня на коленке рантайм оптимизирует
Ну конечно, и проблему остановки он тоже умеет решать. Он же не на коленке писан. Он нормальный. Ну, а если не умеет, то значит не нормальный, ты не про этот говорил.
Исходная версия dsxl, :
не сложнее чем увидеть хвостовой вызов
сложность примерно одинаковая, но оптимизации гарантируются не специфической формой записи, которую компилятор превратит в цикл (если автор не напутал чего, или как в случае с плюсами, например, не появится где-нибудь деструктор и т.п. веселье), а просто наличием самого цикла в коде (и отсутствием рекурсии).
мистический декоратор для мемоизации
ну видишь, сам же прекрасно знаешь, что никакой он не мистический. Ну, называется он по-дибильному - так это Гвидо виноват. В другом языке будет называться memoize и вызываться как функция высшего порядка. Сути-то это не меняет.
свопы
Уж точно понятнее, чем fibr с тремя агрументами. Ну, а вобще это специфика числовых рядов.
от себя добавлю нередкую необходимость явного копирования
Весь мой поинт в том, что оптимизация и должна быть явной.
В нормальном фп интерпретаторе/компиляторе ничего сломать нельзя нормальный, не писаный за два дня на коленке рантайм оптимизирует
Ну конечно, и проблему остановки он тоже умеет решать. Он же не на коленке писан. Он нормальный. Ну, а если не умеет, то значит не нормальный, ты не про этот говорил.