module Binrep.Util.ByteOrder ( ByteOrder(..), ByteOrdered(..), type EndianSuffix , type LE, type BE, type Endian ) where import Raehik.Compat.Data.Primitive.Types.Endian ( ByteOrdered(..) ) import GHC.ByteOrder ( ByteOrder(..) ) import GHC.TypeLits ( type Symbol ) -- shorter names I originally used type LE = LittleEndian type BE = BigEndian type Endian = ByteOrdered type family EndianSuffix (end :: ByteOrder) :: Symbol where EndianSuffix LittleEndian = "LE" EndianSuffix BigEndian = "BE"