«functional-programming» etiketlenmiş sorular

İşlevsel programlama, temel olarak işlevleri bir bilgisayar programı içeren hesaplamaları ifade etmek ve hesaplamalarını ifade etmek için araç olarak kullanan bir programlama paradigmasıdır.

1
Cebirsel Verilerle Kısıtlamaya Dayalı Tip Çıkarımları
Ben ML şecere ifade tabanlı bir dil üzerinde çalışıyorum, bu yüzden doğal olarak tür çıkarım gerekiyor :) Şimdi, EOPL'de (Friedman ve Wand) basit bir uygulamaya dayanan, çıkarım türleri sorununa kısıtlamaya dayalı bir çözüm geliştirmeye çalışıyorum, ancak zarif bir şekilde yan basamak cebirsel veri tipleri. Şimdiye kadar olanlarım sorunsuz çalışıyor; bir …

1
ML tipi çıkarımın üstel maliyetinin kısa örneği
OCaml gibi fonksiyonel bir dilde tür çıkarım maliyetinin çok yüksek olabileceği dikkatimi çekti. İddia, her bir ifade için, karşılık gelen tipin uzunluğunun, ekspresyonun uzunluğu üzerinde üstel olacağı şekilde bir dizi ifade olmasıdır. Aşağıdaki diziyi tasarladım. Sorum şu: aynı türlere ulaşan daha özlü ifadelere sahip bir sıra biliyor musunuz? # fun …

2
Saf bir veri akışı tarzında “artımlı güncelleme” işlevlerinin oluşturulması için bir paradigma var mı?
Bu soruyu sormak için doğru terminolojiyi bilmiyorum, bu yüzden bunu birçok kelimeyle anlatacağım, yanımda taşıyacağım. Arka plan , sadece aynı sayfadayız: Programlar genellikle önbellek içerir - bir zaman / bellek dengesi. Yaygın bir programcının hatası, yukarı akış kaynaklarından / emsallerinden birini değiştirdikten sonra önbelleğe alınan bir değeri güncellemeyi unutmaktır. Ancak …

4
Fonksiyonel kodun doğru olduğunu kanıtlamak için yaygın resmi teknikler nelerdir?
Tezimin bir parçası olarak yazdığım bir Haskell programının bölümlerine kanıt sağlamak istiyorum. Ancak şimdiye kadar iyi bir referans çalışması bulamadım. Graham Hutton'un Haskell'i öğrenirken okuduğum Haskell'deki Programlama ( Google Kitaplar ) tanıtım kitabı gibi programlar hakkında muhakeme yapmak için birkaç tekniğe değiniyor eşit muhakeme çakışan olmayan desenler kullanma liste indüksiyonu …

1
Öz Türler Endüktif Yapılar Analizini geçersiz kılar mı?
Benlik Türleri, dilin Scott Şifreleme yoluyla kodlanan cebirsel veri tiplerini ifade etmesine olanak tanıyan Yapı Analizinin [1] bir uzantısıdır. Scott Encoding, O(1)CC'ye endüktif tanımların dahil edilmesi için ana motivasyonlardan biri olan desen eşleştirme yeteneği sağlar . Yine de, Benlik Türleri çok daha basit ve zarif bir temel teori oluştururlar ve …

3
anonim lambda fonksiyonları (fonksiyonel programlama)
Anonim (lambda) fonksiyonlar nelerdir? İşlevsel bir programlama dilinde anonim bir işlevin biçimsel tanımı nedir? Basit bir deyişle, şema / lisp programlarken anonim (lambda) işlevinin tanımlayıcıya bağlı olmayan bir işlev olduğunu söyleyebilirim. Bir lambda fonksiyonu hakkında resmen söyleyebileceğin bu mu? Bu basit tanıma eklenebilecek daha fazla ayrıntı olduğunu düşünüyorum. Lütfen detaylandırın …

1
λ-hesabı: Fonksiyonların hafıza gösterimlerinde en etkili olan nedir?
Klasik kodlanmış (birleştirici / C) veri yapıları ile kodlanmış (Kilise / Scott) fonksiyonlarının performansını karşılaştırmak istiyorum. Ama bunu yapmadan önce, bellekte işlev gösteriminin ne kadar verimli olduğunu / olabileceğini bilmeliyim. Fonksiyon elbette kısmen uygulanabilir (aka kapatma). Hem geçerli kodlama algoritması popüler fonksiyonel diller (Haskell, ML) kullanımı hem de elde edilebilecek …

2
Tip sisteminde bir sıralama işlemini kanıtlama
Bir programlama dilinde bir yazı sisteminin ne kadar faydalı olabileceğini bilmek istiyorum. Örneğin, bağımlı Vectortipte bir programlama dilinde, vektör boyutunu tip imzasında birleştiren bir sınıf oluşturabileceğimizi biliyorum . Fiili bir örnek gibidir. appendBu imzaları kullanarak bir işlev de yazabiliriz, böylece derleyici sonuç listesinin boyutunun giriş listelerinin toplamı olacağını kanıtlar. Örneğin, …

1
Birleşik mantık terimleri her zaman daha mı büyük?
Bu nedenle , lambda hesabı terimlerini SK birleştiricileri kullanarak birleşik mantığa dönüştüren bir algoritma vardır . Boyut olarak patlayan şeyler üretir . Bu patlama hakkında daha fazla bilgi edinmek istiyorum. Ancak daha iyi bir algoritma düşünemiyorum. İşlevsel dillerin pratik olarak birleştiricilere derlendiğini duydum, bu yüzden daha iyi bir algoritma var …

3
Fonksiyonel programlamanın değişmezliği gerçekten var mı?
Günlük hayatımda bir programcı olarak çalışmam ve tüm moda dilleri (Python, Java, C, vb.) Kullanmama rağmen, işlevsel programlamanın ne olduğu konusunda net bir fikrim yok. Okuduğum kadarıyla, işlevsel dillerin bir özelliği veri yapılarının değişmez olmasıdır . Benim için bu tek başına pek çok soru getiriyor. Ama önce değişmezliği anladığımdan biraz …
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.