23

UNPACKHaskell での動作を理解するのに苦労しています。たとえば、次のデータ宣言を考えてみましょう。

data P a b = P !a !b
data T = T {-# UNPACK #-} !(P Int Int)

データ型はどのようTにアンパックされますか? と同等でしょうか

data T' = T' !Int !Int

またはInts はさらに展開されます:

data T'' = T'' Int# Int#

? どうですか

data U = U {-# UNPACK #-} !(P Int (P Int Int))

?

4

1 に答える 1