ivory-0.1.0.7: 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 # 

Methods

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

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

Ord Type Source # 

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 # 

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

Lift Type Source # 

Methods

lift :: Type -> Q Exp #

data Typed a Source #

Constructors

Typed 

Fields

Instances

Functor Typed Source # 

Methods

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

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

Eq a => Eq (Typed a) Source # 

Methods

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

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

Ord a => Ord (Typed a) Source # 

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 # 

Methods

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

show :: Typed a -> String #

showList :: [Typed a] -> ShowS #

Lift a0 => Lift (Typed a0) Source # 

Methods

lift :: Typed a0 -> Q Exp #