2016-03-07 52 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