8
ответов

Различия между реализациями JVM

Где Реализации JVM отличаются (кроме лицензирования)? Каждая JVM реализует Стирание Типа для Универсальной обработки? Где различия между: JRockit IBM JVM SUN JVM Открывают JDK Blackdown...
вопрос задан: 3 March 2012 02:00
5
ответов

Программы в функциональных языках более вероятно, чтобы иметь переполнения стека?

Я начинаю изучать ocaml и действительно ценю питание рекурсии на языке. Однако одной вещью, по поводу которой я волнуюсь, являются переполнения стека. Если ocaml использует стек для функции...
вопрос задан: 2 February 2010 06:28
4
ответа

Что такое оптимизация вызовов?

Очень просто, что такое оптимизация хвостового вызова? В частности, может ли кто-нибудь показать небольшие фрагменты кода, где его можно применить, а где нет, с объяснением почему?
вопрос задан: 1 January 2014 15:02
4
ответа

Почему Clojure намного быстрее, чем Scala на рекурсивном добавляет функцию?

Друг дал мне этот фрагмент кода в Clojure (defn, сумма [стригут acc] (если (пустой? колледж) acc (повторяются (колледж отдыха) (+ (первый колледж) acc)))) (время (сумма (диапазон 1 9999999) 0)) и спросил меня, как это тарифицирует...
вопрос задан: 11 July 2012 23:11
4
ответа

Оптимизация вызовов на C

Я часто слышу, как люди говорят, что C не выполняет устранение хвостовых вызовов. Хотя это не гарантируется стандартом, разве это не выполняется на практике какой-либо достойной реализацией? Предполагая ...
вопрос задан: 18 August 2010 16:24
3
ответа

Что аннотация Scala должна гарантировать, что рекурсивная функция хвоста оптимизирована?

Я думаю, что существует @tailrec аннотация, чтобы гарантировать, что компилятор оптимизирует рекурсивную функцию хвоста. Вы просто помещаете его перед объявлением? Это также работает, если Scala используется в сценариях...
вопрос задан: 24 June 2010 21:48
3
ответа

Объясните мне, что грандиозное предприятие с оптимизацией последнего вызова и почему для Python нужен он

Так, по-видимому, была большая сенсация, законченная, нужна ли для Python оптимизация последнего вызова. Это достигло кульминации, когда кто-то поставил Guido копия SICP, потому что он "не получил его". Я нахожусь в...
вопрос задан: 10 June 2009 12:28
2
ответа

Что такое устранение хвостовой рекурсии?

Steve Yegge упомянул это в сообщении в блоге, и я понятия не имею, что это означает, кто-то мог заполнить меня? Действительно ли это - то же самое как оптимизация последнего вызова?
вопрос задан: 23 May 2017 12:17
2
ответа

XCode для iPhone устраняют рекурсию последнего вызова?

XCode поддерживает оптимизацию последнего вызова на iPhone?
вопрос задан: 23 June 2009 23:37
1
ответ

Каков некоторый простой код F#, который генерирует .tail IL инструкция?

Я хотел бы видеть .tail IL инструкция, но простые рекурсивные функции с помощью последних вызовов, которые я писал, по-видимому, оптимизированы в циклы. Я на самом деле предполагаю на этом, поскольку я не...
вопрос задан: 4 March 2016 15:58
1
ответ

Устранение последнего вызова в Clojure?

Кто-то может переписать этот (plt) код Схемы в Clojure? (определите (f n) (printf" (f ~a) ~n" n) (g n)) (определяют (g n) (printf" (g ~a) ~n" n) (h n)) (определяют (h n) (printf" (h ~a) ~n" n)...
вопрос задан: 2 February 2010 04:34
1
ответ

Как узнать, является ли функция хвостовой рекурсивной в F #

Я написал следующую функцию: let str2lst str = let rec f s acc = match s with | "" -> акк | _ -> f (s.Substring 1) (s. [0] :: acc) f str [] Как я могу узнать, что ...
вопрос задан: 10 June 2009 12:28
0
ответов

Оптимизация Tail Call в Go

Оптимизирует ли язык программирования Go на данный момент? Если нет, то оптимизирует ли он хотя бы хвостовой рекурсивный вызов функции для себя?
вопрос задан: 11 November 2018 18:23
0
ответов

Поддерживает ли Java хвостовую рекурсию? [дубликат]

Возможный дубликат: почему JVM все еще не поддерживает оптимизацию хвостового вызова? Я вижу так много разных ответов в Интернете, поэтому решил спросить экспертов.
вопрос задан: 23 May 2017 12:17
0
ответов

Почему JVM все еще не поддерживает оптимизацию хвостового вызова?

Через два года после оптимизации с помощью Does-the-jvm-prevent-tail-call-optimizations , похоже, существует прототип реализации, и MLVM уже некоторое время определяет эту функцию как «proto 80%». Нет ли активных ...
вопрос задан: 23 May 2017 12:10
0
ответов

Оптимизация компилятором в рекурсивном программа

Я получил мотивацию от вопроса оптимизации хвостового вызова Что такое оптимизация хвостового вызова? Итак, я решил посмотреть, как я могу сделать это на простом C. Итак, я написал 2 факториальные программы, 1-я где хвостовой вызов ...
вопрос задан: 23 May 2017 12:04
0
ответов

Оптимизация хвостового вызова в Mathematica?

Формулируя ответ на другой вопрос SO, я столкнулся с некоторым странным поведением в отношении хвостовой рекурсии в Mathematica. Документация Mathematica намекает, что оптимизация хвостового вызова может ...
вопрос задан: 23 May 2017 11:54
0
ответов

是否存在技术上的原因,C#不发布“ tail”。 CIL指令? [重复]

可能重复:.net / C#为什么不消除尾递归? 使用以下C#代码:using System; 命名空间TailTest {class MainClass {public static void Main(...
вопрос задан: 23 May 2017 10:28
0
ответов

Python: пространства имен в xml ElementTree (или lxml)

Я хочу получить унаследованный xml-файл, изменить и сохранить его. Вот мой код: from xml.etree import cElementTree as ET
вопрос задан: 4 March 2016 15:36
0
ответов

Каково текущее состояние оптимизации хвостового вызова для F# в Mono (2.11)?

Каково текущее состояние реализации Tail Call Optimization (TCO) в Mono (2.11)? Где-то читал, что всю кодовую базу необходимо изменить, чтобы использовать соглашение об аргументах вызываемого абонента. Что...
вопрос задан: 4 March 2016 15:29
0
ответов

Оптимизация хвостового вызова F # с 2 рекурсивными вызовами?

Когда я писал эту функцию, я знал что я не получу оптимизацию хвостовых вызовов. Я до сих пор не придумал хороший способ справиться с этим и надеялся, что кто-то другой может предложить свои предложения. Я ...
вопрос задан: 4 March 2016 15:16
0
ответов

Можно ли принудительно оптимизировать хвостовой вызов на GCC / Clang?

Я пытаюсь написать программу в функциональном стиле с использованием C, насколько это возможно. Я знаю, что хорошие компиляторы, такие как GCC / Clang, молча выполняют оптимизацию хвостовых вызовов, но это не гарантируется. Есть ли возможность ...
вопрос задан: 23 July 2014 16:30
0
ответов

Почему выиграл? • компилятор Scala применяет оптимизацию хвостового вызова, если метод не является окончательным?

Почему компилятор Scala не применяет оптимизацию хвостового вызова, если метод не является окончательным? Например, это: class C {@tailrec def fact (n: Int, result: Int): Int = if (n == 0) ...
вопрос задан: 2 May 2013 16:50
0
ответов

vs2010 Оптимизация хвостового вызова C ++

Рассмотрим следующий код: int fac_aux (int x, int res) {если (x == 1) return res; иначе верните fac_aux (x - 1, res * x); } int fac (int x) {вернуть fac_aux (x, 1); } int main () {...
вопрос задан: 9 October 2012 20:27
0
ответов

Оптимизирована ли моя переписанная функция foldl?

Я только начал использовать Haskell 2 дня назад, поэтому пока не знаю, как оптимизировать свой код. В качестве упражнения я переписал foldl и foldr (здесь я приведу foldl, но foldr тот же самый, заменив последний...
вопрос задан: 21 June 2012 18:57
0
ответов

Зачем коду активно пытаться предотвратить оптимизацию хвостового вызова?

Название вопроса может показаться немного странным, но дело в том, что, насколько мне известно, нет ничего, что говорило бы против оптимизации хвостовых вызовов вообще. Однако при просмотре открытого исходного кода...
вопрос задан: 28 May 2012 22:14
0
ответов

Насколько ограничен повтор?

Насколько я могу судить, recur в Clojure поддерживается компилятором, тогда как в других lisps он реализован на более низком уровне. Как я читал, это не будет «общая» совокупная стоимость владения. Помимо очевидного (a...
вопрос задан: 17 April 2012 11:52
0
ответов

Всегда ли рекурсивная функция в Scheme оптимизирована для хвостового вызова?

Я читал кое-что об оптимизации хвостового вызова в Scheme. Но я не уверен, понимаю ли я концепцию хвостовых вызовов. Если у меня есть такой код: (define (fac n) (if (= n 0) 1 (* n ...
вопрос задан: 3 April 2012 07:27
0
ответов

Почему в этой программе на Haskell не используется оптимизация хвостового вызова?

Следующая программа очищает стек: __find_first_occurrence :: (Eq b) => b -> [b] -> Int -> Int __find_first_occurrence e [] i = -1 __find_first_occurrence e (x:xs) i | e == x = i ...
вопрос задан: 14 March 2012 17:17
0
ответов

Как я могу получить трассировку стека с помощью звонков в ocaml?

Стек вызовов Ocamldebug - это реальный стек вызовов, поэтому функции, которые сделали хвостовое вызов, не появляются в нем. Это смущает. Как я могу получить обратный транспорт, который включает в себя хвостовые звонки?
вопрос задан: 21 February 2012 08:49