簡體   English   中英

澄清管道庫中的流和效果

[英]Clarification on Streaming and Effects in context of Pipes Library

管道教程已在其文檔中提到了這一點:

如果您犧牲了Effects,則會得到Haskell的純列表和惰性列表,您可以在恆定空間中使用可組合函數對其進行變換,但不會交錯效果。

如果您犧牲了Streaming功能,則會得到可組合且有效的mapM,forM和“ ListT做錯了”,但是只有先處理整個列表並將其加載到內存后,才返回單個結果。

但是, Streaming暗含交錯效果? Streaming ,實際上是逐塊消耗的。 因此,雖然逐塊消費,但效果不是交錯的嗎?

流確實確實暗示了交錯的效果。 您引用的文字沒有其他說明。

解釋管道文檔:

  • 如果您沒有效果,那么您將只剩下惰性數據結構。 它們的組合很好,但是您無法執行IO(惰性IO除外,我們正努力避免這種情況)。
  • 如果確實有效果但不進行流處理,則可以進行IO,但要等到最后才能獲得結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM