Haskell:GADT与UNPACK Pragma

时间:2016-03-12 22:21:50

标签: haskell ghc pragma unpack gadt

UNPACK支持普通数据类型,如下所示:

data T = T {-# UNPACK #-} ! Int

但是有没有办法将UNPACK Pragma与GADT一起使用?

1 个答案:

答案 0 :(得分:8)

尝试了它并发现它实际上与Constructor函数参数一起使用。

data BinHeap a where
  Empty :: (Ord a) => BinHeap a
  HeapNode :: (Ord a) => a -> {-# UNPACK #-} !Int -> BinHeap a -> BinHeap a -> BinHeap a

尼斯。