SORU
30 EYLÜL 2012, Pazar


Fonksiyonel Programlama vurgu Çok özyineleme, neden?

Fonksiyonel Programlama [FP] (Scala kullanarak) ile tanıştırdı alıyorum. Benim ilk öğrendiklerini gelecek bir FPs ağır özyineleme kullanan. Ve aynı zamanda gibi görünüyorsafFPs tek yolu yinelemeli bir şeyler yapmak için özyinelemeli fonksiyonlar yazmak.

Ve özyineleme ağır kullanımı nedeniyle görünüyor FPs endişelenmek zorunda sonraki şey, uzun, dolambaçlı özyinelemeli aramaları bağlı olarak StackoverflowExceptions. Bu bazı iyileştirmeler (Scala v2 stackframes ve @tailrec Dipnot bakımı ile ilgili iyileştirmeleri kuyruk özyineleme.sunarak ele alınmıştı 8'den itibaren)

Birisi özyineleme fonksiyonel programlama paradigma için neden bu kadar önemli olduğunu bana aydınlatmak lütfen? "İhlal halinde yaparsak" yinelenen şeyler? alır fonksiyonel programlama dil özelliklerine bir şey var Evet, o zaman bu kadar iyi olacağını merak ediyorum.

PS: eğer soruma cevap/açıklamak durumunda mevcut kaynakları bana gelin çekinmeyin yani fonksiyonel programlama acemi olduğumu Unutmayın. Ayrıca özellikle Scala de yinelemeli şeyler yapmak için destek sağlar anlıyorum.

CEVAP
30 EYLÜL 2012, Pazar


Church Turing thesis farklı hesaplanabilirlik modelleri arasında denklik vurgular.

Özyineleme kullanarak bir ihtiyacımız yokdevlet kesilebilirçözerkenbazısorun, bu mümkün daha basit açısından bir anlam belirtmek için. Böylece çözüm basit, biçimsel anlamda olabilir.

Bu Prolog fonksiyonel dilinden daha iyi özyineleme etkinliği (yineleme yok) gösterir bence, ve pratik sınırları biz bunu kullanırken karşılaşma.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dope2111

    dope2111

    29 HAZİRAN 2009
  • Hollyscoop

    Hollyscoop

    30 Ocak 2007
  • Machinima

    Machinima

    17 Ocak 2006