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)