«functional-programming» etiketlenmiş sorular

Fonksiyonel programlama, fonksiyonları kullanarak soyutlamalara dayanan, yan etkilerden ve durum değişikliğinden kaçınan bir programlama paradigmasıdır. Saf fonksiyonel programlama iş parçacığı için güvenlidir.

15
Haskell'de bir Haskell tercümanı yazın
Klasik bir programlama alıştırması, Lisp / Scheme'de bir Lisp / Scheme yorumlayıcısı yazmaktır. Tam dilin gücü, dilin bir alt kümesi için bir tercüman üretmek için kullanılabilir. Haskell için benzer bir egzersiz var mı? Motor olarak Haskell'i kullanarak Haskell'in bir alt kümesini uygulamak istiyorum. Tabii ki olabilir yapılır, ancak herhangi bir …

11
Erken iptal
Katlamayı erken bitirmenin en iyi yolu nedir? Basitleştirilmiş bir örnek olarak, sayıları bir içinde özetlemek istediğimi hayal edin Iterable, ancak beklemediğim bir şeyle karşılaşırsam (tek bir sayı söyleyin) bitirmek isteyebilirim. Bu bir ilk yaklaşımdır def sumEvenNumbers(nums: Iterable[Int]): Option[Int] = { nums.foldLeft (Some(0): Option[Int]) { case (Some(s), n) if n % …

3
Mevcut Fonksiyonel Reaktif Programlama uygulamalarının durumu nedir?
Haskell'de bazı basit otomatik fiziksel sistemleri (sarkaç, robot kollar vb.) Görselleştirmeye çalışıyorum. Genellikle bu sistemler aşağıdaki gibi denklemlerle tanımlanabilir df/dt = c*f(t) + u(t) burada u(t)bir tür 'akıllı kontrolü' temsil eder. Bu sistemler, Fonksiyonel Reaktif Programlama paradigmasına çok iyi uyuyor gibi görünüyor. Bu yüzden Paul Hudak'ın "Haskell İfade Okulu" kitabını …




7
İşlevsel bir dilde bir derleyici yazmak neden daha kolay? [kapalı]
Kapalı . Bu soru fikir temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Bu gönderiyi düzenleyerek gerçeklerle ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 2 yıl önce kapalı . Bu soruyu geliştirin Bu soruyu çok uzun süredir düşünüyordum, ancak yanıtı Google'da ve Stackoverflow'da benzer bir soru …


19
İşlevsel programlama web geliştirme ile ilgili mi? [kapalı]
Kapalı . Bu sorunun ayrıntılara veya netliğe ihtiyacı var . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Ayrıntıları ekleyin ve sorunu açıklığa kavuşturmak bu yazıyı düzenliyor . 2 ay önce kapalı . Bu soruyu geliştirin Son zamanlarda işlevsel programlama hakkında çok şey görüyorum ve Clojure özellikle ilginç …

5
Tembel permütasyon oluşturma
Clojure'da tembel bir liste yapabileceğim bir kümenin permütasyonlarını oluşturmak için bir algoritma arıyorum. Yani, her permütasyonun ben talep edene kadar hesaplanmadığı ve tüm permütasyonların aynı anda bellekte saklanmasının gerekmediği bir permütasyon listesi üzerinde yinelemek istiyorum. Alternatif olarak, belirli bir küme verildiğinde bir algoritma arıyorum, bu kümenin "sonraki" permütasyonunu döndürecektir, öyle …


2
Sezgisel tip teorisinin birleşimsel mantık eşdeğeri nedir?
Yakın zamanda Haskell ve Agda'yı (bağımlı tipte bir işlevsel programlama dili) içeren bir üniversite kursunu tamamladım ve bunlarda lambda hesabını birleştirici mantıkla değiştirmenin mümkün olup olmadığını merak ediyordum. Haskell ile bu, S ve K kombinasyonlarını kullanarak mümkün görünüyor, bu da onu noktasız hale getiriyor. Agda için eşdeğerinin ne olduğunu merak …

7
Scheme'de eq ?, eqv ?, equ ?, ve = arasındaki fark nedir?
Scheme'deki bu işlemler arasındaki farkın ne olduğunu merak ediyorum. Stack Overflow'da benzer sorular gördüm ama bunlar Lisp ile ilgili ve bu operatörlerin üçü arasında bir karşılaştırma yok. Scheme'de farklı türde komutlar yazıyorum ve aşağıdaki çıktıları alıyorum: (eq? 5 5) -->#t (eq? 2.5 2.5) -->#f (equal? 2.5 2.5) --> #t (= …


6
Saf Fonksiyonlar: "Yan Etki Yok" "Her Zaman Aynı Çıktı, Aynı Girdi Verildi" anlamına mı geliyor?
Bir işlevi tanımlayan iki koşul pureaşağıdaki gibidir: Yan etki yok (yani yalnızca yerel kapsamda değişikliklere izin verilir) Aynı girdi verildiğinde her zaman aynı çıktıyı döndür İlk koşul her zaman doğruysa, ikinci koşulun doğru olmadığı zamanlar var mı? Yani gerçekten sadece ilk şart için gerekli mi?

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.