SORU
23 ŞUBAT 2009, PAZARTESİ


Haskell'Stream Fusion s nedir

Haskell Akış Füzyon nedir ve nasıl kullanırım?

CEVAP
24 ŞUBAT 2009, Salı


Logan işaret eden gazete harika ama biraz zor. (Sadece öğrencilerime sor.) Ayrıca hakkında çok şey bu akışı füzyon nasıl çalışır '' ve sadece bir kısmını akışı füzyon nedir ve nasıl kullanabileceğinizi''.

Stream füzyon çözer bu sorunu yazılı olarak işlevsel kodları sık sık Ara listeler tahsis olduğunu, örneğin, düğüm sayıları sonsuz bir liste oluşturmak için yazabilirsin

nodenames = map ("n"  ) $ map show [1..]

Saf kod tamsayılar [1, 2, 3, ...], dizeleri sonsuz bir liste ["1", "2", "3", ...] ve isimleri sonsuz bir liste sonunda ["n1", "n2", "n3", ...] sonsuz bir liste ayrılacak. Bu çok fazla ayırma.

Stream füzyon ne sonuç için gerekli olan tek ayıran bir özyinelemeli işlevini kullanan bir şeyin içine nodenames gibi bir tanım çevirmek. Genel olarak, ara listelerinin ortadan ayırma denirormanların yok.

Stream füzyon kullanmak, yazmak gerekirnon-recursive fonksiyonlarakarsu füzyon kitaplığıGHC ticket 915 anlatılan işlevlerden(map, foldr, vb.) yerine açık özyineleme kullanmak. Bu kütüphane akışı füzyon sömürmek için yazılmış olan tüm Başlangıç fonksiyonları yeni sürümlerini içerir. Görünüşe göre bu şey bir sonraki DZD sürümü (6.12) haline getirmek için aday olduğunu ancak mevcut kararlı sürümü (6.10). Eğer kütüphane kullanmak istiyorsanız Porges cevabı güzel basit bir açıklaması vardır.

Eğer gerçekten akışı fusion çalışma şekli hakkında bir açıklama istiyorsanız, başka bir yazı çok daha zor olan soru---ama.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • nemoking of kinges

    nemoking of

    4 EYLÜL 2009
  • Rootjunky.com

    Rootjunky.co

    22 EKİM 2011
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010