【发布时间】:2016-06-28 02:29:21
【问题描述】:
UNPACK支持普通数据类型,如下图:
data T = T {-# UNPACK #-} ! Int
但是有没有办法将 UNPACK Pragma 与 GADT 一起使用?
【问题讨论】:
标签: haskell ghc pragma unpack gadt
UNPACK支持普通数据类型,如下图:
data T = T {-# UNPACK #-} ! Int
但是有没有办法将 UNPACK Pragma 与 GADT 一起使用?
【问题讨论】:
标签: haskell ghc pragma unpack gadt
试了一下,发现它实际上与构造函数参数一起工作。
data BinHeap a where
Empty :: (Ord a) => BinHeap a
HeapNode :: (Ord a) => a -> {-# UNPACK #-} !Int -> BinHeap a -> BinHeap a -> BinHeap a
不错。
【讨论】: