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

  • alexis gillis

    alexis gilli

    23 HAZİRAN 2011
  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • WePlayWeWatch

    WePlayWeWatc

    3 Temmuz 2013