我想从Vec包中导入Vec3D
数据构造函数Data.Vec.Packed
模块。显然,我可以
import Data.Vec.Packed
并完成了一些事情,但这不是我想要做的事情,因为这会为当前的范围增加额外的东西。
Vec3D
数据构造函数在Data.Vec.Packed
模块中声明如下:
instance PackedVec (Vec3 Double) where
data Packed (Vec3 Double) = Vec3D {-#UNPACK#-} !Double {-#UNPACK#-} !Double {-#UNPACK#-} !Double
...
我尝试了这个,但它没有编译:
import Data.Vec.Packed (Packed (Vec3 Double)(..))
如何只导入Vec3D
数据构造函数?
仅供参考,如果您在ghci中导入模块:
* Data.Vec> :info Vec3D
data instance Packed (Vec3 Double)
= Vec3D {-# UNPACK #-}Double
{-# UNPACK #-}Double
{-# UNPACK #-}Double
-- Defined in ‘Data.Vec.Packed’
type Vec3D = Packed (Vec3 Double) -- Defined in ‘Data.Vec.Packed’
答案 0 :(得分:0)
要将构造函数与族导入捆绑在一起,可以编写
import Data.Vec.Packed (Packed(Vec3D))
使用:info Vec3D
在GHCi中进行测试显示
data instance Packed (Data.Vec.Base.Vec3 Double)
= Vec3D {-# UNPACK #-}Double
{-# UNPACK #-}Double
{-# UNPACK #-}Double
-- Defined in ‘Data.Vec.Packed’