Результаты поиска по запросу "tail-recursion"
У Haskell есть хвостовая рекурсивная оптимизация?
Я обнаружил команду «time» в unix сегодня и подумал, что буду использовать ее для проверки разницы во времени выполнения между хвостовой и обычной рекурсивной функциями в Haskell. Я написал следующие функции: --tail recursive fac :: (Integral ...
У Haskell есть хвостовая рекурсивная оптимизация?
Я обнаружилвремя" Команда в Unix сегодня и думал, что яd использовать его для проверки разницы во времени выполнения между хвостово-рекурсивными и обычн...
Можно ли считать функцию F # хвостовой рекурсивной, она использует код операции TailCall .net
Так как .net имеетTailCall [http://msdn.microsoft.com/en-us/library/system.reflection.emit.opcodes.tailcall.aspx] код операции, это можно использовать для определения, если функция F # действительно хвостовая рекурсивная? Если это правда, ...
Переполнение при использовании recur в clojure
У меня есть простой калькулятор простых чисел в clojure (неэффективный алгоритм, но я просто сейчас пытаюсь понять поведение повторения). Код: (defn divisible [x,y] (= 0 (mod x y))) (defn naive-primes [primes candidates] (if (seq candidates) ...
Почему моя хвостовая рекурсия Scala быстрее, чем цикл while?
Вот два решения упражнения 4.9 в Scala Кей Хорстманна для нетерпеливых: «Напишите функцию lteqgt (values: Array [Int], v: Int), которая возвращает тройку, содержащую число значений меньше v, равное v, и больше, чем v. " Один использует хвостовую ...
Разделение списка элементов на два списка нечетных и четных проиндексированных элементов
Я хотел бы сделать функцию, которая принимает список и возвращает два списка: первый содержит каждый нечетный элемент, а второй содержит каждый четный элемент. Например, учитывая[1;2;4;6;7;9]Я хотел бы вернуться[ [1;4;7] ; [2;6;9] ]. Я написал ...
F # против OCaml: переполнение стека
Я недавно нашел презентацию оF # для программистов на Python [http://combiol.org/fs/FSUG_FS4PPv2.pptx]и, посмотрев его, решил самостоятельно реализовать решение «муравьиной головоломки». Есть муравей, который может ходить по плоской сетке. ...
Хвостовая рекурсия с Groovy
Я кодировал 3 факторных алгоритма: Во-первых, я ожидаю провала из-за переполнения стека. Нет проблем.Во вторых я стараюсьрекурсивный вызов, преобразуйте предыдущий алгоритм из рекурсивного в итеративный.Это не работает, но я не понимаю, ...
Большое спасибо за просмотр этого Томаса. Однако, как говорит kvb, это вызывает немного больше вопросов, чем ответов. В частности, есть ли что-то в выражениях вычислений, из-за которых компилятор теряет "хвостовую рекурсивность" функций, написанных с использованием bind, если bind не записан в стиле передачи продолжения? Значит ли это, что любой построитель вычислений в реальном мире должен проходить мимо?
ытие: это появилось в FsCheck, среде случайного тестирования F #, которую я поддерживаю. У меня есть решение, но оно мне не нравится. Более того, я не понимаю проблемы - ее просто обошли. Довольно стандартная реализация последовательности ...
медленнее, на самом деле это будет иметь поведение O (n ^ 2), которого следует избегать, как ад. Если вы не хотите использовать реверс, просто используйте рекурсивное тело вместо хвостового и не используйте
ичок в изучении Erlang. После прочтения о списочном понимании и рекурсии в Erlang, я хотел попробовать реализовать свой собственныйmap функция, которая получилась так: % Map: Map all elements in a list by a function map(List,Fun) ...