簡體   English   中英

為什么 MVector 不可折疊?

[英]Why is MVector not Foldable?

我可以理解為什么MVector類型(來自vector包)不實例化Foldable類型 class 嗎? 我想人們經常需要迭代向量。 我可以將其freezeData.Vector ,然后進行迭代。 但我討厭改變這些東西,好像我們對StringTextBytestring等做得不夠。

就我而言,我想打印每個元素。

從可變向量中讀取需要在關聯的 monad 中執行效果 - IOST s 但是Foldable要求你能夠產生一個純粹的答案; 如果有實例,我們至少必須能夠實現

foldr :: (a -> b -> b) -> b -> MVector s a -> b

即使調用者選擇了沒有提到IOSTb 哎呀!

暫無
暫無

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

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