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

  • lilstevie89

    lilstevie89

    25 Mart 2011
  • Mr. H

    Mr. H

    1 Temmuz 2012
  • sghaff1

    sghaff1

    23 Mart 2009