
You can use TyCon.tyConPrimRep, followed by primRepSizeW Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell- | users-bounces@haskell.org] On Behalf Of Johan Tibell | Sent: 06 December 2012 23:47 | To: glasgow-haskell-users | Subject: Which of the following PrimTyCons have a pointer-sized | representations | | Hi, | | As part of some work I'm doing I need to classify all PrimTyCons by the | size of their representation as fields*. I need to classify them into | two classes: pointer-sized (or smaller) and larger-than-pointer-sized. | I've managed to figure out a bunch of them | | myself: | | Pointer-sized: | | addrPrimTyCon | arrayPrimTyCon | byteArrayPrimTyCon -- Represented as a pointer to heap object | arrayArrayPrimTyCon -- Represented as a pointer to heap object | charPrimTyCon doublePrimTyCon -- Only on 64-bit floatPrimTyCon | intPrimTyCon int32PrimTyCon int64PrimTyCon -- Only on 64-bit | mutableArrayPrimTyCon -- Represented as a pointer to heap object | mutableByteArrayPrimTyCon -- Represented as a pointer to heap object | mutableArrayArrayPrimTyCon -- Represented as a pointer to heap object | wordPrimTyCon word32PrimTyCon word64PrimTyCon -- Only on 64-bit | | These ones I need help with: | | bcoPrimTyCon | weakPrimTyCon | mVarPrimTyCon | tVarPrimTyCon | mutVarPrimTyCon | realWorldTyCon | stablePtrPrimTyCon | stableNamePrimTyCon | statePrimTyCon | threadIdPrimTyCon | anyTyCon | eqPrimTyCon | liftedTypeKindTyCon | unliftedTypeKindTyCon | openTypeKindTyCon | constraintKindTyCon | superKindTyCon | anyKindTyCon | | I would appreciate any help classifying the bottom half. I will use this | to implement -funbox-strict-primitive-fields | | * For example: while the StgArrWords heap object is a multi-byte object | its representation as a field e.g. in data T = C ByteArray# is one | pointer (to the StgArrWords heap object). | | -- Johan | | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users