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

  • glowpinkstah

    glowpinkstah

    16 Mayıs 2006
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • Simon Hayter

    Simon Hayter

    20 HAZİRAN 2010