Вопросы по теме 'tail-call-optimization'
Что такое устранение хвостовой рекурсии?
Стив Йегге упомянул об этом в сообщении в блоге . и я понятия не имею, что это значит, может кто-нибудь заполнить меня?
Это то же самое, что оптимизация хвостового вызова ?
9897 просмотров
schedule
21.02.2023
gcc -fPIC, кажется, испортил флаги оптимизации
Следуя этому вопросу: how-do- i-check-if-gcc-is-performing-tail-recursion-optimization я заметил, что использование gcc с -fPIC, кажется, разрушает эту оптимизацию. Я создаю общую библиотеку, но мне не нужна опция -fPIC.
Ну, мой вопрос: почему...
1253 просмотров
schedule
02.05.2022
Устранение хвостового вызова в Clojure?
Может ли кто-нибудь переписать этот (plt) код схемы в Clojure?
(define (f n)
(printf "(f ~a)~n" n)
(g n))
(define (g n)
(printf "(g ~a)~n" n)
(h n))
(define (h n)
(printf "(h ~a)~n" n)
(f (+ n 1)))
Таким образом, чтобы не...
648 просмотров
schedule
24.02.2022
Разве хвостовая рекурсия не должна быть быстрее?
У меня есть следующий код Clojure для вычисления числа с определенным «факторизуемым» свойством. (что именно делает код - вторично).
(defn factor-9
([]
(let [digits (take 9 (iterate #(inc %) 1))
nums (map (fn [x] ,(Integer. (apply...
552 просмотров
schedule
10.12.2022
Почему эта функция последовательности F # не является хвостовой рекурсией?
Раскрытие информации: это появилось в FsCheck, платформе случайного тестирования F#, которую я поддерживаю. У меня есть решение, но оно мне не нравится. Более того, я не понимаю проблемы - ее просто обошли.
Довольно стандартная реализация...
735 просмотров
schedule
01.03.2024
Каково текущее состояние оптимизации хвостового вызова для F# в Mono (2.11)?
Каково текущее состояние реализации Tail Call Optimization (TCO) в Mono (2.11)? Где-то читал, что вся кодовая база должна быть изменена, чтобы использовать соглашение callee-pops-arguments. Каков статус этого изменения? Актуален ли порт ARM/Linux...
703 просмотров
schedule
29.09.2023
Зачем коду активно пытаться предотвратить оптимизацию хвостового вызова?
Название вопроса может быть немного странным, но дело в том, что, насколько мне известно, нет ничего, что вообще говорило бы против оптимизации хвостового вызова. Однако, просматривая проекты с открытым исходным кодом, я уже сталкивался с несколькими...
3191 просмотров
schedule
02.06.2023
Почему TCO требует поддержки со стороны виртуальной машины?
Говорят, что некоторые виртуальные машины, в первую очередь JVM, не поддерживают совокупную стоимость владения. В результате такой язык, как Clojure, требует, чтобы пользователь вместо этого использовал loop recur .
Однако я могу переписать...
294 просмотров
schedule
19.02.2022
Устранение рекурсивного хвостового вызова для декомпозиции дерева квадрантов в Python
Можно ли с помощью Python устранить множественные рекурсивные хвостовые вызовы (преобразовать в итерацию) в реализации дерева квадрантов, которая назначает точки (X, Y) поддоменам (также известным как конечные узлы)? Вот не очень псевдокод:
def...
193 просмотров
schedule
25.05.2022
Хвостовая рекурсия в NodeJS
Итак, недавно я столкнулся со случаем, когда мне нужно было написать код, в котором обратный вызов вызывает сам себя и т. д., и я задавался вопросом о поддержке NodeJS и хвостового вызова, поэтому я нашел этот ответ...
1615 просмотров
schedule
05.01.2024
список хвостов rec kotlin
Я пытаюсь выполнить некоторые операции, которые прямо сейчас могут вызвать StackOverflow в Котлине.
Зная это, я вспомнил, что в Kotlin есть поддержка tailrec функций, поэтому я попытался сделать:
private tailrec fun Turn.debuffPhase():...
604 просмотров
schedule
09.04.2024
Требования к пространству и времени для соответствия процессору ISO-Prolog
Все реализации функционального языка программирования scheme должны выполнить оптимизацией хвостового вызова всякий раз, когда это применимо.
Есть ли у iso-prolog ? и / или аналогичные требования?
Мне ясно, что функции процессора Prolog,...
61 просмотров
schedule
06.12.2023