Questions sur tail-recursion

23
réponses

Qu'est-ce que la récursion de la queue?

alors que je commençais à apprendre le lisp, je suis tombé sur le terme queue-récursive . Que veut dire exactement?
demandé sur 2008-08-29 07:48:03
8
réponses

Qu'Est-Ce Que L'Optimisation Des Appels De Queue?

très simplement, qu'est-ce que l'optimisation des appels de queue? Plus précisément, est-ce que quelqu'un peut montre ... etits extraits de code où ils pourraient être appliqués, et où ils ne le sont pas, avec une explication de pourquoi?
demandé sur 2008-11-22 09:56:32
20
réponses

Comprendre la récursivité [fermé]

je vais avoir des problèmes majeurs de la compréhension récursivité à l'école. Chaque fois que le professeur par ... on donc il n'est pas trop utile. Personne ne sait de livres ou de ressources qui peuvent aider à clarifier ce sujet?
demandé sur 2009-04-05 00:10:02
6
réponses

Python optimise-t-il la récursion de la queue?

j'ai le code suivant qui échoue avec l'erreur suivante: RuntimeError: profondeur de récursion maximale ... 0)) dois-je conclure que Python ne fait pas n'importe quel type de TCO, ou dois-je juste définir autrement?
demandé sur 2012-11-27 23:53:41
1
réponses

Quels compilateurs C++, s'il y en a, optimisent l'optimisation de la récursion de la queue?

il me semble que cela fonctionnerait parfaitement pour faire l'optimisation de la recursion en C et c++, mais en débog ... ence. Si destructeur doit être exécuté après la queue, la queue-appel d'optimisation ne peut pas être fait.
demandé sur 0000-00-00 00:00:00
5
réponses

La JVM empêche-t-elle l'optimisation des appels de queue?

j'ai vu cette citation sur la question: qu'est Ce qu'un bon langage fonctionnel pour construire un service web? ... on fondamentale de la JVM). Est-ce vrai? Si oui, quel est-il de la machine qui crée cette limitation?
demandé sur 2008-09-20 01:35:35
5
réponses

Pourquoi ne t.NET/C# optimiser la queue-appel de la récursivité?

j'ai trouvé cette question à propos de quelles langues optimiser la récursion de la queue. Pourquoi C# n'optimise pa ... (int i) { if (i == 1000000) return; if (i % 100 == 0) Console.WriteLine(i); Foo(i+1); }
demandé sur 2009-01-29 15:20:21
6
réponses

Est-ce que les appels de queue des moteurs Javascript sont optimisés?

j'ai un algorithme d'orientation récursif que J'ai implémenté en Javascript et je voudrais savoir s'il y en a (tous?) les navigateurs pourraient éventuellement obtenir des exceptions de débordement de pile.
demandé sur 2010-09-07 20:26:33
5
réponses

Ne Rubis effectuer Queue Appel d'Optimisation?

les langages fonctionnels conduisent à l'utilisation de la récursion pour résoudre beaucoup de problèmes, et donc beau ... as, fonctions comme map et ainsi de suite, etc.), ce qui me rend curieux: Ruby effectuer queue appel d'optimisation?
demandé sur 2009-05-05 16:03:12
2
réponses

Pourquoi un appel récursif provoque-t-il un débordement de piles à différentes profondeurs?

j'essayais de comprendre comment les appels de queue sont traités par le compilateur C#. (réponse: ils ne le ... a même profondeur de pile. BONUS ASLR liés, dans les anciennes news: Comment Chrome ai pwned
demandé sur 2013-11-27 18:58:05
2
réponses

F # vs OCaml: débordement de la pile

j'ai récemment trouvé une présentation sur F# pour les programmeurs Python , et après l'avoir regardé, j'ai décidé de ... la binaire débordements de pile. Final EDITION : j'ai trouvé la réponse moi - même- voir ci-dessous.
demandé sur 2011-09-24 14:57:25
8
réponses

Comment puis-je vérifier si gcc effectue l'optimisation de la récursion de la queue?

Comment dire si gcc (plus précisément g++) optimise la récursion de la queue dans une fonction particulière ? (Parce ... er un appel qui serait sinon, il en résulte un débordement de la pile – ou en regardant la sortie de l'assemblage.")
demandé sur 2009-01-29 05:42:31
7
réponses

foldl est récursive, alors pourquoi foldr court plus vite que foldl?

je voulais tester foldl vs foldr. De ce que j'ai vu, vous devriez utiliser foldl sur foldr quand jamais vous pouvez en ... t trivial, mais je Je ne comprends pas pourquoi foldr Bat foldl. Ce ne devrait pas être un cas clair où foldl gagne?
demandé sur 2010-08-07 11:54:03
6
réponses

Comment Haskell queue de récursivité travail?

j'ai écrit cet extrait de code et je suppose que len est récursif, mais un débordement de pile se produit toujours. Qu ... gth xs = len xs 0 where len [] l = l len (x:xs) l = len xs (l+1) main = print $ myLength [1..10000000]
demandé sur 2009-01-05 15:04:37
5
réponses

Y a-t-il des problèmes qui ne peuvent pas être écrits avec la récursion de la queue?

la récursion de la queue est une stragégie importante d'optimisation des performances en langage fonctionnel car elle perm ... lateurs fonctionnels et les interprètes pourraient être assez intelligents pour effectuer la conversion automatiquement?
demandé sur 2009-12-11 18:13:00
4
réponses

Pourquoi le compilateur Scala n'applique-t-il pas l'optimisation des appels de queue à moins qu'une méthode ne soit finale?

pourquoi le compilateur Scala n'applique-t-il pas l'optimisation des appels de queue à moins qu'une méthode ne soit final ... ale et peut donc être annulée qu'est-Ce exactement va mal si le compilateur appliquée TCO dans un cas comme celui-ci?
demandé sur 2011-01-24 21:14:38
2
réponses

Ce n'est pas un code de style récursif?

Je suis un peu nouveau à Scala essayer tout en lisant Scala Mengining par David Pollack. Il définit une fonction récursiv ... ings(expr: => String): List[String] = ai-je mal compris la récursion de la queue? Comment puis-je réparer ce code?
demandé sur 2011-05-15 03:17:57
3
réponses

Générer l'appel de queue opcode

par curiosité, j'essayais de générer un code d'appel de queue en utilisant C#. Fibinacci est un facile, donc mon exem ... de queue n'importe où, mais je suis juste curieux où exactement cet opcode obtenir mis? Comment est C# fait-il cela?
demandé sur 2013-04-07 20:22:09
2
réponses

Pourquoi ma récursion de la queue du Scala est-elle plus rapide que la boucle while?

voici deux solutions pour exercer 4.9 dans le Scala de Cay Horstmann pour L'Impatient: "écrire une fonction lteqgt (va ... aison de la construction else. (NB Inverser l'ordre j'exécute les deux méthodes ne pas d'incidence sur le résultat).
demandé sur 2012-02-07 02:58:33
2
réponses

Les fonctions en JavaScript tail-call sont-elles optimisées?

j'ai essayé de comprendre Tail call optimization dans le contexte de JavaScript et ont écrit les méthodes ci-dessous récur ... compilateur JavaScript comme il est fait dans D'autres langues comme le Scala etc. Quelqu'un peut-il m'aider à ce sujet?
demandé sur 2016-05-14 11:36:37
5
réponses

Combinaison de la mémoization et de la recursion de la queue

est-il possible de combiner la mémorisation et la récursion de la queue d'une façon ou d'une autre? J'apprends F# en ce m ... a queue? J'ai fait quelques tentatives mais n'arrive pas à le faire fonctionner. Ou est-ce tout simplement pas possible?
demandé sur 2010-08-11 18:32:47
8
réponses

C optimisation de l'appel de queue

j'entends souvent des gens dire que C n'élimine pas les appels de queue. Même si elle n'est pas garantie par la norme, n ... ls de queue en C? en outre, quelle était la raison pour laquelle on a quitté l'appel de queue? optimisation hors norme?
demandé sur 2010-08-18 20:24:37
3
réponses

PHP optimise-t-il la récursion de la queue?

j'ai écrit un petit morceau de code qui, à mon avis, aurait dû réussir si la récursion de la queue avait été optimisée, m ... return $sum; } else { return (sumrand($n-1,$sum+rand(0,1))); } } echo sumrand(500000,0)."\n";
demandé sur 2011-05-30 06:33:09
3
réponses

Éviter le débordement de la pile (avec F# des séquences infinies de séquences)

j'ai ce "code d'apprentissage" que j'ai écrit pour la morris seq f# qui souffre de débordement de pile que je ne sais pas ... d'autres termes, la version LL n'est pas strictement JIT lazy pour la génération de séquence, seulement la gestion de liste.
demandé sur 2009-05-22 21:25:06
5
réponses

F # Exemple De Fonction Récursive De Queue

, je suis nouveau sur F# et lisais à propos de la queue de fonctions récursives et espérais que quelqu'un pourrait me d ... entes d'une fonction foo - queue récursive et une qui ne l'est pas, afin que je puisse mieux comprendre le principe.
demandé sur 2010-07-14 20:00:39
2
réponses

La queue d'appel d'optimisation dans Mathematica?

tout en formulant une réponse à une autre question SO , je suis tombé sur un certain comportement étrange concernan ... cumentation de Mathematica ou autre WRI matériel serait idéal. Les spéculations sont également les bienvenues.
demandé sur 2010-12-19 05:22:26
2
réponses

L'optimisation de L'appel de queue et la RAII peuvent-elles coexister?

Je ne peux pas penser à un vrai langage RAII qui a aussi l'optimisation des appels de queue dans les spécifications, mais ... je sais que de nombreuses implémentations C++ peuvent le faire comme une optimisation spécifique à une implémentation.
demandé sur 2013-07-22 20:37:06
2
réponses

Dans quelles circonstances les calculs monadiques sont-ils récursifs?

En Haskell Wiki la Récursivité dans une monade il y a un exemple qui est revendiquée pour être queue-récursive: f 0 acc = ... 'est pas la fin du calcul. Il est effectué plusieurs fois et les résultats sont combinés pour obtenir le résultat final.
demandé sur 2012-11-14 16:44:44
4
réponses

La queue de la récursivité problème

nous expérimentions avec des collections parallèles à Scala et avons voulu vérifier si le résultat a été commandé. Pou ... verflow (comment approprié pour une question ici!). Je m'attendais à être à la queue-optimisé. Quel est le problème?
demandé sur 2011-10-19 17:58:41
2
réponses

Doute concernant un code optimisé de queue sous "gdb"

Envisager une queue factorielle récursive mise en œuvre dans C: #include <stdio.h> unsigned long long fa ... 20 3 0x8048420 4 0x8048420 Factorial 120 Program exited normally. (gdb) Où est-ce que je vais mal?
demandé sur 2009-05-18 15:23:03