Matrix和构造函数都有Vectorkind *->*,所以它们看起来像值构造函数。但是当我尝试类似的东西时
instance Functor Vector a where
    fmap g ( Vector a ) = Vector ( g a )
我收到此错误:
 Not in scope: data constructor `Vector'
这是有道理的,因为let v = Vector [1..3]无论如何我都无法通过使用来制作矢量。但是检查源代码我发现 Matrix 和 Vector 构造函数都是从它们各自的模块中导出的:
Vector.hs
module Data.Packed.Vector (
    Vector,
    fromList, (|>), toList, buildVecto.. 
) where
Matrix.hs
module Data.Packed.Matrix (
    Element,
    Matrix,rows,cols...
) where
Dido 用于应用函子、monad 等。