Add instance Storable Ordering

Sven Panne svenpanne at gmail.com
Tue Oct 8 15:33:28 UTC 2019


Am Di., 8. Okt. 2019 um 16:57 Uhr schrieb Simon Jakobi via Libraries <
libraries at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20191008/c0596931/attachment.html>


More information about the Libraries mailing list