module LLVM.Core.Data(IntN(..), WordN(..), FP128(..),
Array(..), Vector(..), Ptr, Label, Struct(..), PackedStruct(..)) where
import Data.Typeable
import Foreign.Ptr(Ptr)
import Data.TypeLevel
newtype (Pos n) => IntN n = IntN Integer
deriving (Show, Typeable)
newtype (Pos n) => WordN n = WordN Integer
deriving (Show, Typeable)
newtype FP128 = FP128 Rational
deriving (Show, Typeable)
newtype (Nat n) => Array n a = Array [a]
deriving (Show, Typeable)
newtype Vector n a = Vector [a]
deriving (Show, Typeable)
data Label
deriving (Typeable)
newtype Struct a = Struct a
deriving (Show, Typeable)
newtype PackedStruct a = PackedStruct a
deriving (Show, Typeable)