История изменений
Исправление alysnix, (текущая версия) :
На языке с ТСО обход единообразен.
чтобы получить твое tco(tail call optimization), надо еще код правильно написать. в с++ любой обьект с нетривиальным деструктором на стеке, в данном блоке или охватывающем, снесет эту оптимизацию, поскольку будет скрытый код вызова деструкторов. аналогично будет если будет defer в языках, где он есть.
будешь обрабатывать список рекурсивно, получишь скрытую багу в общем случае.
от функциональщиков вред один!
Исходная версия alysnix, :
На языке с ТСО обход единообразен.
чтобы получить твое tco(tail call optimization), надо еще код правильно написать. в с++ любой обьект с нетривиальным деструктором на стеке, в данном блоке или блоке выше, снесет эту оптимизацию, поскольку будет скрытый код вызова деструкторов. аналогично будет если будет defer в языках, где он есть.
будешь обрабатывать список рекурсивно, получишь скрытую багу в общем случае.