
Can you send a small example program for 'test'? | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell-users-bounces@haskell.org] | On Behalf Of Takano Akio | Sent: 15 November 2006 10:55 | To: glasgow-haskell-users@haskell.org | Subject: Unpacking polymorphic fields | | Hi, | | Suppose I have the following two datatypes. | | data B = B {-# UNPACK #-} !Int | data C a = C {-# UNPACK #-} !Char !a | | If I have a strict function: | | test :: C B -> IO () | | I want it to be worker-wrapper-transformed into: | | $wtest :: Char# -> Int# -> State# RealWorld -> (# State# RealWorld, () #) | | but GHC actually generates something like: | | $wtest :: Char# -> B -> State# RealWorld -> (# State# RealWorld, () #) | | The question is: is there any way to ask GHC to produce the former? | If the field is not polymorphic, UNPACK pragma can be used for this, but | it does not work in this case. If there is no such way, would | it be a reasonable "feature request" to add one? | | Regards, | Takano Akio | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users