{-# language DataKinds #-} {-# language KindSignatures #-} {-# language MagicHash #-} {-# language UnboxedTuples #-} {-# language StandaloneKindSignatures #-} signature WordSize ( T , T# , R , MaxBits , liftWord , unliftWord ) where import Prelude (Num,Integral,Real,Bounded,Enum,Eq,Ord,Show) import Data.Bits (Bits,FiniteBits) import GHC.Exts (TYPE,RuntimeRep,Word#) import GHC.TypeLits instance Num T instance Integral T instance Real T instance Bounded T instance Enum T instance Eq T instance Ord T instance Show T instance Bits T instance FiniteBits T data T data R :: RuntimeRep data T# :: TYPE R data MaxBits :: Nat liftWord :: Word# -> T unliftWord :: T -> Word#