2016-03-12 25 views
5

giải nén hỗ trợ các kiểu dữ liệu bình thường, như thể hiện trong những điều sau đây:Haskell: GADT với giải nén pragma

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

Nhưng có một cách để sử dụng pragma với GADT giải nén?

Trả lời

8

Đã thử và thấy rằng nó thực sự hoạt động với các đối số hàm Constructor.

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

Tốt.