Data.Vector.Mixed的目的

And*_*tin 6 haskell vector ghc

在Edward Kmett的混合向量库中,有两个主要模块:Data.Vector.HybridData.Vector.Mixed.有一篇关于前者背后动机的文章.后者是顺便提到但没有任何解释.我正在试图找出它的用例.到目前为止我注意到了两件事:

  1. 有一个Mixed带有Typeable约束的类型类.我不明白黑线鳕的解释,但似乎Typeable必须要求恢复类型信息或在某些时候安全施放.
  2. Vector数据类型是仅在所述底层参数MVector.这与Hybrid通过两个矢量类型和一个元组进行参数化的模块不同.

我将不胜感激任何有用的见解或(甚至更好)用例的小例子.谢谢.

dgo*_*092 1

据我了解,Mixed类型类将允许使用类型安全函数来解析、合并和折叠向量,而不是使用并发过程,其中每个向量同时解析,从而声明以找到M.Vector g v M.Vector h m单例点在这些向量中,然后使用for MVector do |Stream.length g v && Stream h m在每个向量中找到一个单例来用这个键折叠key :: mergeStreamwith k d -> Stream k i -> Stream d i instance Singleton key where key = Vector.singleton[ v->(v-> MVector v m) -> MVector m] do transversewithkey g v => key.foldlwithkey g h