Size: a a a

2020 October 28

AP

Aleksei (astynax) Pi... in fprog_spb
Не все, конечно
источник

FN

Freyr Njordrson in fprog_spb
Yuuri
Ну что там видеть? Bla *ptr = new Bla(<…>) меняется на auto ptr = std::make_unique<Bla>(…), delete убирается.
Ех если бы еще unique_ptr был эквивалентен сырому указателю) На cppcon 2019 был отличный talk про это.
источник

AI

Andrey Ivanov in fprog_spb
Не только лишь все (С), я бы сказал
источник

AT

Alexander Tchitchigi... in fprog_spb
Aleksei (astynax) Pirogov
Ну TCO умеют и интерпретируемые языки
Да тут даже TCO не нужен. 🤷‍♀️
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Он всегда нужен!
источник

AI

Andrey Ivanov in fprog_spb
Далана, половина живут без него и даже не знают )
источник

FN

Freyr Njordrson in fprog_spb
Aleksei (astynax) Pirogov
Ну TCO умеют и интерпретируемые языки
mutual tail recursion даже скалка не умеет (хоть бы проджект лум это пофиксил уже), а не взаимная не особо нужна.
источник

AI

Andrey Ivanov in fprog_spb
Не взаимная не нужна если есть встроенные примитивы организации циклов
источник

AT

Alexander Tchitchigi... in fprog_spb
Andrey Ivanov
Далана, половина живут без него и даже не знают )
А вторая живёт с ним, и даже не знает? 😉
источник

AI

Andrey Ivanov in fprog_spb
Похоже на то 😁
источник

AI

Andrey Ivanov in fprog_spb
Но собсно ТСО, даже взаимная, реализуется тривиально трамплинами в любом языке, а мой кот выше про перенос любых рекурсий в стек
источник

AT

Alexander Tchitchigi... in fprog_spb
источник

AT

Alexander Tchitchigi... in fprog_spb
Andrey Ivanov
Но собсно ТСО, даже взаимная, реализуется тривиально трамплинами в любом языке, а мой кот выше про перенос любых рекурсий в стек
Вот компилятор без TCO "любую" рекурсию в стек и переносит. 🤷‍♀️
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Freyr Njordrson
mutual tail recursion даже скалка не умеет (хоть бы проджект лум это пофиксил уже), а не взаимная не особо нужна.
В "TCO" нет слова "recursion". Это "оптимизация хвостового вызова" — любого. Так что я не понял, к чему претензия?
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Andrey Ivanov
Но собсно ТСО, даже взаимная, реализуется тривиально трамплинами в любом языке, а мой кот выше про перенос любых рекурсий в стек
"TCO" и "даже взаимная" не нужно упоминать вместе. Одно подразумевает второе, если не сказано про "оптимизацию рекурсии" явно
источник

AP

Aleksei (astynax) Pi... in fprog_spb
"Tail Call Optimization" для тех, кто забыл. Нет тут "Recursion"!
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Оптимизация рекурсии, как Саша и говорит, делается компиляторами как одна из многих других оптимизаций
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Andrey Ivanov
Но собсно ТСО, даже взаимная, реализуется тривиально трамплинами в любом языке, а мой кот выше про перенос любых рекурсий в стек
Ты пишешь ровно про то, против чего Саша выше высказался, говоря про то, что "то, что может быть сделано компилятором, должно делаться компилятором"
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Руками можно и на ассемблере писать. Но если можно не писать — нужно не писать!
источник

AT

Alexander Tchitchigi... in fprog_spb
Aleksei (astynax) Pirogov
Ты пишешь ровно про то, против чего Саша выше высказался, говоря про то, что "то, что может быть сделано компилятором, должно делаться компилятором"
Это немного не точно: я не говорил, что "должно делаться компилятором". Я просто указал на то, что такие задачи аставляют упражняться в том, что и так делают компиляторы. 😊
источник