【问题标题】:Haskell: GADT with UNPACK PragmaHaskell:使用 UNPACK Pragma 的 GADT
【发布时间】:2016-06-28 02:29:21
【问题描述】:

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

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

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

【问题讨论】:

    标签: haskell ghc pragma unpack gadt


    【解决方案1】:

    试了一下,发现它实际上与构造函数参数一起工作。

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

    不错。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      相关资源
      最近更新 更多