«functional-programming» etiketlenmiş sorular

Fonksiyonel programlama, çıktıları program durumundan ziyade girdileri ile belirlenen fonksiyonların zincirli değerlendirmesi ile hesaplama problemlerini çözmeye çalışan bir paradigmadır. Bu programlama tarzında, yan etkiler ve değişken veriler kullanımdan kaldırılmıştır ve genellikle kesin olarak izole edilmiştir.

5
Bir arabirimin (OOP) anlamsal sözleşmesi bir işlev imzasından (FP) daha bilgilendirici midir?
Bazıları tarafından, eğer SOLID ilkelerini aşırı uçlarına götürürseniz, fonksiyonel programlamaya son verdiğiniz söylenir . Bu makaleye katılıyorum, ancak arayüz / nesneden işlev / kapanışa geçişte bazı anlambilimin kaybolduğunu düşünüyorum ve İşlevsel Programlamanın kaybı nasıl azaltabileceğini bilmek istiyorum. Makaleden: Ayrıca, Arabirim Ayrışma İlkesini (ISS) titizlikle uygularsanız, Başlık Arabirimleri yerine Rol Arabirimleri'ni …

2
Yüksek rütbeli parametrik polimorfizm faydalı mıdır?
Herkesin formun genel yöntemlerine aşina olduğundan eminim: T DoSomething<T>(T item) Bu fonksiyon parametrik olarak polimorfik (PP), özellikle rank-1 PP olarak da adlandırılır . Bu yöntemin, formun bir işlev nesnesi kullanılarak temsil edilebileceğini varsayalım: <T> : T -> T Yani, <T>bir tür parametresi alır ve bir tür parametresi T -> Talır …


8
Fonksiyonel Programlama için Zihinsel Modeller veya Gerçek Dünya Metaforları
Gerçek dünyada bir şeye atıfta bulunan işlevsel programlama için iyi bir zihinsel model veya metafor var mı? Nesneye Yönelik programlama sezgisel olarak bana mantıklı geliyor. Özellikleri olan şeyler vardır ve bazen özellikleri (yöntemleri) üzerinde şeyler yapabilir veya hesaplamalar yapabilirler. (Örn: Araba, Şekil, Kedi). Ben hiçbir şekilde olmayacak fonksiyonel programlamaya katılıyorum …

1
Fonksiyonel ara formun dezavantajları
JavaScript'e benzer bir dil için bir optimize edici yazıyorum ve bir ara kod temsili seçmem gerekiyor. Bugünlerde bariz / tipik seçim Statik Tekil Atama'dır (SSA). Bununla birlikte, C'deki Modern Derleyici Uygulaması, aynı zamanda temel olarak ara gösterim için saf işlevselliğe gitme anlamına gelir (sadece yerel değişkenler açısından saf, yığın verileri …

2
Cebirsel Veri Türlerinin Kullanım Alanları Nelerdir?
Cebirsel Veri Türleri hakkında okuyorum (Richard Minerich sayesinde kavramın bu mükemmel açıklamasını buldum ). Toplam türleri ve ürün türleri vb. ADT'nin kalıp eşleşmesinin ötesinde başka neler yapılabilir? DÜZENLEME: Bir geliştiricinin nesnelerle yapılamayan ADT'lerle neler yapabileceğini sormuyorum. ADT'nin izin verdiği başka işlemler olup olmadığını soruyorum; örneğin, ADT'ler kullanılırsa ilgili türler hakkında …


4
Durum değiştirmeye güvenmemek neden iyidir?
Bu soru /software/25569/is-haskell-worth-learning sorudan kaynaklanmaktadır Genellikle Haskell'in diğer dillerde kodlama becerilerinizi nasıl geliştirdiği hakkında sık sık tekrarlanan açıklamalar yapılır ve bunun nedeni Haskell'in vatansız olması ve bu iyi bir şeydir. Neden? Birinin bunu sadece sol elle yazmakla veya belki de bir gün boyunca gözlerinizi kapatmakla ve sadece dokunmaya dayanarak karşılaştırdığını …

4
API'lar ve fonksiyonel programlama
Clojure gibi işlevsel programlama dillerine (kuşkusuz sınırlı) maruz kalmamdan, verilerin kapsüllenmesinin daha az önemli bir rolü olduğu görülmektedir. Genellikle haritalar veya kümeler gibi çeşitli yerel türler, nesneleri temsil etmek için tercih edilen para birimidir. Ayrıca, bu veriler genellikle değişmezdir. Örneğin, işte bu konuyla ilgili bir röportajda Clojure şöhretinden Zengin Hickey'den …

9
Üst düzey yönetimi işlevsel programlamayı düşünmeye ikna etmek için iyi olgusal argümanlar ne olurdu? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 5 yıl önce kapalı . İşlevsel programlamanın neden İyi bir fikir olduğu konusunda tonlarca "teorik" argüman vardır (bunun açık bir soru olarak …

3
Yüksek mertebeden fonksiyonlar için adlandırma kuralı? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 4 yıl önce kapalı . Üst düzey işlevler için bir adlandırma kuralı var mı? Yani, diğer işlevleri döndüren işlevler. Javascript'te bir örnek: …

2
Prosedür olarak uygulanmayan bir sürdürmenin örneği nedir?
Geri aramalar ve SO üzerinde devamları arasındaki ayrım hakkında ilginç bir tartışma bu soruyu gündeme getirmiştir . Tanım olarak, devam, bir hesaplamayı tamamlamak için gereken mantığın soyut bir temsilidir. Çoğu dilde bu, işlemeye devam edilmesi gereken değer ne olursa olsun geçtiğiniz tek bir argüman prosedürü olarak kendini gösterir. Tamamen işlevsel …


5
Bir arabirime işlevsel programlama alternatifi nedir?
"İşlevsel" bir tarzda programlamak istersem, bir arayüzle ne değiştirirdim? interface IFace { string Name { get; set; } int Id { get; } } class Foo : IFace { ... } Belki bir Tuple<>? Tuple<Func<string> /*get_Name*/, Action<String> /*set_Name*/, Func<int> /*get_Id*/> Foo; İlk etapta bir arayüz kullanmamın tek nedeni, her zaman …

4
Mükemmel kısmi uygulama 'körelme' mi diyor?
Groovy, 'körelme' adını verdiği bir konsepte sahiptir. İşte onların wiki'sinden bir örnek: def divide = { a, b -> a / b } def halver = divide.rcurry(2) assert halver(8) == 4 Burada olup bitenler hakkındaki anlayışım, divide 2 değerine bağlı olmasıdır. Bu, kısmi bir başvuru şekli gibi gözükmektedir. Kıvrılma terimi …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.