ivory-0.1.0.9: Safe embedded C programming.

Safe HaskellNone
LanguageHaskell2010

Ivory.Language.Syntax.Type

Documentation

data Type Source #

Constructors

TyVoid

Unit type

TyInt IntSize

Signed ints

TyWord WordSize

Unsigned ints

TyIndex Integer

Indices with an upper bound

TyBool

Booleans

TyChar

Characters

TyFloat

Floats

TyDouble

Doubles

TyProc Type [Type]

Procedures

TyRef Type

References

TyConstRef Type

Constant References

TyPtr Type

Pointers

TyConstPtr Type

Constant Pointers

TyArr Int Type

Arrays

TyStruct String

Structures

TyCArray Type

C Arrays

TyOpaque

Opaque type---not implementable.

Instances
Eq Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

(==) :: Type -> Type -> Bool #

(/=) :: Type -> Type -> Bool #

Ord Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

compare :: Type -> Type -> Ordering #

(<) :: Type -> Type -> Bool #

(<=) :: Type -> Type -> Bool #

(>) :: Type -> Type -> Bool #

(>=) :: Type -> Type -> Bool #

max :: Type -> Type -> Type #

min :: Type -> Type -> Type #

Show Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

Lift Type Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

lift :: Type -> Q Exp #

data IntSize Source #

Constructors

Int8 
Int16 
Int32 
Int64 
Instances
Eq IntSize Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

(==) :: IntSize -> IntSize -> Bool #

(/=) :: IntSize -> IntSize -> Bool #

Ord IntSize Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Show IntSize Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Lift IntSize Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

lift :: IntSize -> Q Exp #

data WordSize Source #

Constructors

Word8 
Word16 
Word32 
Word64 
Instances
Eq WordSize Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Ord WordSize Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Show WordSize Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Lift WordSize Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

lift :: WordSize -> Q Exp #

data Typed a Source #

Constructors

Typed 

Fields

Instances
Functor Typed Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

fmap :: (a -> b) -> Typed a -> Typed b #

(<$) :: a -> Typed b -> Typed a #

Eq a => Eq (Typed a) Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

(==) :: Typed a -> Typed a -> Bool #

(/=) :: Typed a -> Typed a -> Bool #

Ord a => Ord (Typed a) Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

compare :: Typed a -> Typed a -> Ordering #

(<) :: Typed a -> Typed a -> Bool #

(<=) :: Typed a -> Typed a -> Bool #

(>) :: Typed a -> Typed a -> Bool #

(>=) :: Typed a -> Typed a -> Bool #

max :: Typed a -> Typed a -> Typed a #

min :: Typed a -> Typed a -> Typed a #

Show a => Show (Typed a) Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

showsPrec :: Int -> Typed a -> ShowS #

show :: Typed a -> String #

showList :: [Typed a] -> ShowS #

Lift a => Lift (Typed a) Source # 
Instance details

Defined in Ivory.Language.Syntax.Type

Methods

lift :: Typed a -> Q Exp #