Sorusu Okasaki beri tamamen fonksiyonel veri yapıları yenilikler? ve jbapple'ın epik yanıtı, son zamanlarda ilgilendiğim bir şey olan fonksiyonel programlamada (mantık programlamanın aksine) fark listeleri kullanılarak belirtildi. Bu , Haskell için fark listesi uygulamasını bulmamı sağladı . Ben iki soru var (Onları StackExchange iki farklı soru yapmak beni affet / düzeltmek).
Basit soru şu ki, Haskell kütüphanesi dışında fonksiyonel programlama ve / veya uygulamalardaki fark listelerinin akademik olarak değerlendirilmesinin farkında olan var mı? jbapple'ın cevabı fark listeleri için bir alıntı yapmadı (mantık programlamasındaki fark listeleri, irfanda ve buralarda bir yerlere (TM) sahip olduğum birkaç kaynakta var). Haskell uygulamasını bulmadan önce fikrin mantıktan işlevsel programlamaya sıçradığını bilmiyordum. Haskell fark listeleri, yüksek dereceli işlevlerin doğal kullanımının bir şeyidir ve mantık programlamadakilerden oldukça farklı çalışır, ancak arayüz kesinlikle benzerdir.
Sormak istediğim daha ilginç (ve çok daha başlı) şey, yukarıda belirtilen Haskell fark listesi kütüphanesi için iddia edilen asimtotik üst sınırın doğru / makul görünüp görünmediğidir . Benim karışıklığım, tembellik ile karmaşıklık akıl yürütme hakkında açık bir şey eksik olduğum için olabilir, ancak iddia edilen sınırlar bana sadece büyük bir veri yapısı (veya kapatma oluşumu veya değişken arama veya bir şey ) üzerinde ikame her zaman sabit zaman alıyorsa mantıklıdır . Ya da "yakalama" basitçe "kafa" ve "kuyruk" için çalışma süresinde kesin bir sınırlama olmadığı için mi? Çünkü bu operasyonlar keyfi bir şekilde ertelenmiş hesaplama / ikame yığınından geçmek zorunda kalabilir mi?