toyboot4e
UNPACK pragma の質問です。通常は次のように使うと思います:
フィールドが一般の型
data TestA = TestA
{ aA :: {-# UNPACK #-} !Int,
bA :: {-# UNPACK #-} !Int
}フィールドが一般の型
a の場合、以下の UNPACK は効果がありますか? (たとえば`TestB Int` 型は unpack されますか):data TestB a = TestB
{ aB :: {-# UNPACK #-} !a,
bB :: {-# UNPACK #-} !a
}TestB のコンパイル時警告では Ignoring.. とあるので、 UNPACK されない気がしています (確認用 playground: https://play.haskell.org/saved/8gaATevZ)