2014-05-08 56 views
1

管子教程已在其文檔中提到這個管庫的情況下:澄清流和效應

如果你犧牲影響你Haskell的純粹和惰性列表,其中 您可以將使用組合的功能恆定的空間,但是沒有交織效應,但是 。

如果你犧牲流你MAPM, 形式和「做錯了ListT」,這是可組合和effectful,但 不返回一個結果,直到整個列表已首先 處理,並加載到內存中。

但是不是Streaming意味着交錯效應?當你是Streaming時,你實際上通過塊消耗塊。那麼,按塊來消費塊不是交錯的效果?

回答

2

流確實意味着交錯效應。您引用的文字不會另有說明。

套用管道文檔:

  • 如果沒有效果,那麼你只是留下了懶惰的數據結構。它們很好地組合,但你不能做IO(除了惰性IO,我們試圖避免)。
  • 如果你確實有效果,但不流式處理,那麼你可以做IO,但直到最後纔會得到結果。