SORU
19 EYLÜL 2008, Cuma


JVM kuyruk çağrı iyileştirmeleri engel teşkil ediyor mu?

Bu soruyu alıntı gördüm: What is a good functional language on which to build a web service?

Özellikle Scala kompozisyon türlerini sınırlayan öz yinelemeli fonksiyonlar, sen-ebilmek yapmak dışında kuyruk-Ara eliminasyon (bu JVM temel bir sınırlama) desteklemiyor.

Bu doğru mu? Eğer öyleyse, bu temel sınırlama oluşturduğu hakkında JVM nedir?

CEVAP
19 EYLÜL 2008, Cuma


Bu yazı: Recursion or Iteration? yardımcı olabilir.

Kısacası, tail call optimizasyonu sabit güvenlik modeli ve her zaman bir iz mevcut yığın ihtiyacı nedeniyle JVM yapmak. Bu gereksinimler teorik olarak desteklenen olabilir, ama muhtemelen yeni bir bayt kodu (John Rose's informal proposal) gerektirecektir.

Ayrıca değerlendirme (2002) bittiği yerde Sun bug #4726340, Daha fazla tartışma var:

Bu yine de yapılabilir sanırım, ama küçük bir iş değildir.

Şu anda, bazı iş Da Vinci Machine proje var. Kuyruk çağrı projenin durum olarak listelenen "proto 80%"; Java haline düşüktür 7, ama çok iyi bir şansı olduğunu düşünüyorum Java 8'de.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • J Medema

    J Medema

    11 EKİM 2006
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009