Haskell'de Iteratee based I/O çok çekici görünüyor. Yinelemeler, işlevsel dillerdeki 'kat' a.k.a. 'azaltma' işlevinden esinlenerek I/O yapmanın bir bileşimi, güvenli, hızlı bir yoludur. Temel olarak, eğer bir geçişiniz varsa, bu durum, geçiş durumunu bir "değer" olarak adlandırılan bir "numaralayıcı" olarak adlandırılan bir "sayımcı" olarak kapsülleyecek ve bu da bir değer ya da bir devam ile birlikte daha fazla veri için bir talep döndürecektir. çağrı yapacak kişi için. Dolayısıyla, sadece sayımcı geçişin durumunu bilir, yineleyici ise verilerle ne yapılacağını bilir ve değerlerini ortaya çıkarır. Bunun en güzel yanı iteratların otomatik olarak birleştirilebilir olmasıdır, bir iteratın çıktısı daha büyük olanı yapmak için diğerine beslenir.Yineleme I/O, işlevsel olmayan dillerde anlam ifade eder mi?
Yani, iki soru:
- kavram bile düz nesne yönelimli diller gibi, diğer dillerde lemeyece¤ini yapıyor mu yoksa O/Haskell'ın tembel I eksikliklerini aşmak için sadece yararlıdır?
- Diğer diller için, özellikle C# (şirketimin kullandığı gibi) için gerçek uygulamalar var mı? (Bir google araması, Scala'daki yinelemelerden bahseder; şu anda Scala ile ilgilenmiyorum). Her şeyden
Temel olarak C# 5.0'deki yeni async şeyleri ne için tasarlandı? Mekanizma farklıdır, ancak temelde yatan uygulama temel olarak bir devamıdır. –
Bunu işaret ettiğin için teşekkürler - Henüz bunu bilmiyordum ve kesinlikle heyecan verici görünüyor, bu yüzden içine bakmak zorundayım, gerçi gerçekten çok fazla şey göremiyorum, yinelemelerde ortak. ;-) – firefrorefiddle