tail-call-optimization

Co To Jest Optymalizacja Połączeń Ogonowych?

Bardzo prosto, co to jest optymalizacja połączeń ogonowych? Dokładniej, czy ktoś może pokazać małe fragmenty kodu, gdzie można go zastosować, a gdzie nie, z wyjaśnieniem dlaczego?

Czy Haskell ma optymalizację rekurencyjną?

Odkryłem dzisiaj polecenie" time " w Unixie i pomyślałem, że użyję go do sprawdzenia różnicy w czasie działania między funkcj ... ogonowej. Jest to sprzeczne z tym, co słyszałem w odniesieniu do optymalizacji rekurencyjnej w Lispie. Jaki jest tego powód?

Dlaczego JVM nadal nie obsługuje optymalizacji połączeń ogonowych?

Dwa lata po Czy-JVM-prevent-tail-Call-optimizations , wydaje się, że istnieje prototyp implementacja i MLVM od jakiegoś cz ... izacja: zauważ, że niektóre maszyny wirtualne, takie jak Avian, obsługują prawidłowe wywołania ogonowe bez żadnych problemów.

Czy Swift implementuje optymalizację połączeń ogonowych? a w przypadku wzajemnej rekurencji?

W szczególności jeśli mam następujący kod: func sum(n: Int, acc: Int) -> Int { if n == 0 { return acc } else { retur ... se { return isEven(n - 1) } } func isEven(n: Int) -> Bool { if n == 0 { return true } else { return isOdd(n - 1) } }

Czym jest adnotacja Scala zapewniająca optymalizację funkcji rekurencyjnej ogona?

Myślę, że istnieje @tailrec adnotacja, aby upewnić się, że kompilator zoptymalizuje funkcję rekurencyjną ogona. Czy po prostu ... laracją? Czy działa również, jeśli Scala jest używana w trybie skryptowym (na przykład używając :load <file> pod REPL)?

Optymalizacja połączeń ogonowych w Mathematica?

Formułując ODPOWIEDŹ na inne pytanie SO, natknąłem się na dziwne zachowanie dotyczące rekurencji ogonowej w Mathematica. Dok ... stwierdzenia w dokumentacji Mathematica lub innego materiałuWRI {[7] } byłoby idealne. Spekulacje są również mile widziane.

Węzeł.js tail-call optimization: możliwe czy nie?

Jak na razie Lubię JavaScript i zdecydowałem się użyć Node.js jako mój silnik częściowo z powodu tego , który twierdzi, że w ... . Zasadniczo, chciałbym wiedzieć, co następuje: robi lub nie węzeł.js do TCO? Jak to magiczne yield działa w Node.js?

Jak zastąpić pętle while alternatywą programowania funkcyjnego bez optymalizacji wywołania ogonowego?

Eksperymentuję z bardziej funkcjonalnym stylem w moim JavaScript; dlatego zastąpiłem pętle funkcjami narzędziowymi, takimi ja ... hile, programuję w stylu funkcjonalnym i nie mam dostępu do optymalizacji połączeń ogonowych, to co jest najlepsze strategia.

Osiągnięcie bezstopniowej rekurencji w Javie 8

Jak osiągnąć bezstopniową rekurencję w Javie? Słowo, które wydaje się pochodzić najbardziej jest "trampolining" , i nie mam ... czy mógłbyś wskazać mi właściwy kierunek (np. książkę do przeczytania lub jakiś tutorial, który uczy wszystkich tych pojęć)?

Czym jest eliminacja rekurencji ogonowej?

Steve Yegge wspomniał o tym w poście na blogu i nie mam pojęcia co to znaczy, czy ktoś mógłby mnie wprowadzić? Czy to to samo co optymalizacja połączeń ogonowych?

Dlaczego kompilator Scala nie zastosuje optymalizacji wywołań ogonowych, chyba że metoda jest ostateczna?

Dlaczego kompilator Scali nie zastosuje optymalizacji wywołań ogonowych, chyba że metoda jest ostateczna? Na przykład to: ... ni ostateczna, więc można ją nadpisać Co dokładnie by poszło nie tak, gdyby kompilator zastosował TCO w takim przypadku?

Różnice między implementacjami JVM

Czym różnią się implementacje JVM (poza licencjami)? Czy każdy JVM implementuje Typ kasowania dla ogólnej obsługi? Gdzie są ... ockit IBM JVM SUN JVM Otwórz JDK Blackdown Kaffe ..... Zajmuje się jednym z nich z optymalizacją połączeń ogonowych?

Dlaczego Clojure jest znacznie szybszy od Scali na funkcji rekurencyjnego dodawania?

Przyjaciel dał mi ten fragment kodu w Clojure (defn sum [coll acc] (if (empty? coll) acc (recur (rest coll) (+ (first coll) ... owiedzenie się, co sprawia, że clojure jest tak szybki w tym przypadku i czy jest szybsza implementacja algo w Scali. Dzięki.

Dlaczego kod miałby aktywnie zapobiegać optymalizacji połączeń ogonowych?

Tytuł pytania może być trochę dziwny, ale chodzi o to, że z tego co wiem, nic nie przemawia przeciwko optymalizacji połączeń ... o programistanormalny też powinienem zachować ten umysł? Np. czy istnieją typowe pułapki z optymalizacji połączeń ogonowych?

C Tail Call optimization

Często słyszę, jak ludzie mówią, że C nie wykonuje eliminacji połączeń ogonowych. Mimo, że nie jest to gwarantowane przez st ... cji wywołań ogonowych w C? Ponadto, jakie były przesłanki do pozostawienia optymalizacji połączeń ogonowych poza standardem?

Jakie są dobre sposoby wdrożenia eliminacji połączeń ogonowych?

Napisałem mały interpreter schematu w bezbożnej mieszance C / C++, ale muszę jeszcze zaimplementować odpowiednie wywołania o ... emnych rekurencyjnych wywołań ogonowych. W Jaki Sposób główne systemy oparte na C implementują właściwą rekurencję ogonową?