5
распаковывать поддерживает нормальные типы данных, как показано в следующем:Haskell: GADT с UNPACK Прагма
data T = T {-# UNPACK #-} ! Int
Но есть способ использовать распаковывать Pragma с GADT?
распаковывать поддерживает нормальные типы данных, как показано в следующем:Haskell: GADT с UNPACK Прагма
data T = T {-# UNPACK #-} ! Int
Но есть способ использовать распаковывать Pragma с GADT?
Пробовал и обнаружил, что он действительно работает с аргументами функции конструктора.
data BinHeap a where
Empty :: (Ord a) => BinHeap a
HeapNode :: (Ord a) => a -> {-# UNPACK #-} !Int -> BinHeap a -> BinHeap a -> BinHeap a
Nice.