
A `Word8` would be enough instead of 4 or 8 bytes for `CInt`. On 08/10/2019 17:33, Sven Panne wrote:
Am Di., 8. Okt. 2019 um 16:57 Uhr schrieb Simon Jakobi via Libraries
mailto:libraries@haskell.org>: That seems like a good idea! [...]
Looks OK, but let's use toEnum in peekElemOff:
instance Storable Ordering where sizeOf _ = sizeOf (undefined :: CInt) alignment _ = alignment (undefined :: CInt) peekElemOff p i = toEnum . fromIntegral <$> peekElemOff (castPtr p :: Ptr CInt) i pokeElemOff p i = pokeElemOff (castPtr p :: Ptr CInt) i . fromIntegral . fromEnum
This is more symmetrical with pokeElemOff and less obfuscated. Note that the instance works for every Enum, so if there are more cases like Ordering, it might be worth to abstract that out.
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries