2016-03-07 111 views
1

有幾個標識符WAI含有 「LBS」:「LBS」在WAI中的含義是什麼?

  • Network.Wai.responseLBS:: Status -> ResponseHeaders -> ByteString -> Response

  • -- | Store uploaded files in memory
    lbsBackEnd:: Monad m => ignored1 -> ignored2 -> m S.ByteString -> m L.ByteString

我找不到WAI文檔中的任何提到「LBS」。這是什麼意思?

+4

我的猜測是「懶惰的ByteString」。 –

+0

這幾乎肯定是@DerekElkins所說的......如果你去了hackage文檔,你可以看到輸入參數是一個懶惰的Bytestring https://hackage.haskell.org/package/wai-3.0.5.0/ docs/Network-Wai.html#t:Response,而其他函數則創建非懶惰Bytestrings的響應。 – jamshidh

回答

3

the Hackage documentation

壓倒一切的設計原則,這裏是性能和通用性。 爲了解決性能問題,該庫建立在conduitblaze-builder包之上。在其他地方已經討論了管道惰性IO 的優點,所以在這裏不再討論。 但是,像responseLBS這樣的幫助函數允許您繼續使用 惰性IO,如果您願意的話。

所以,是的,LBS確實代表Lazy ByteString