language-c-quote-0.13.0.2: C/CUDA/OpenCL/Objective-C quasiquoting library.
Copyright(c) 2006-2011 Harvard University
(c) 2011-2013 Geoffrey Mainland
: (c) 2013-2015 Drexel University
LicenseBSD-style
Maintainermainland@drexel.edu
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.C.Quote.CUDA

Description

The quasiquoters exposed by this module support the CUDA extensions, including CUDA-specific declaration specifiers and <<<…>>> kernel invocation syntax.

It includees partial support for C++11 lambda expressions syntax.

Support for lambda-expressions has the following limitations:

  • the capture list must either be empty or have only the default capture mode specifier;
  • the return type cannot be explicitly specified;
  • the package supports C language, not C++, therefore lambda parameter list and body must be in valid C syntax.

Examples of lambdas supported by the cexp quasiquoter:

[] (int i) mutable {}
[&] { return 7; }
Synopsis

Documentation

class ToIdent a where Source #

An instance of ToIndent can be converted to a Id.

Methods

toIdent :: a -> SrcLoc -> Id Source #

Instances

Instances details
ToIdent Id Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toIdent :: Id -> SrcLoc -> Id Source #

ToIdent String Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toIdent :: String -> SrcLoc -> Id Source #

ToIdent (SrcLoc -> Id) Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toIdent :: (SrcLoc -> Id) -> SrcLoc -> Id Source #

class ToConst a where Source #

An instance of ToConst can be converted to a Const.

Methods

toConst :: a -> SrcLoc -> Const Source #

Instances

Instances details
ToConst Int16 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Int16 -> SrcLoc -> Const Source #

ToConst Int32 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Int32 -> SrcLoc -> Const Source #

ToConst Int64 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Int64 -> SrcLoc -> Const Source #

ToConst Int8 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Int8 -> SrcLoc -> Const Source #

ToConst Rational Source # 
Instance details

Defined in Language.C.Quote.Base

ToConst Word16 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Word16 -> SrcLoc -> Const Source #

ToConst Word32 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Word32 -> SrcLoc -> Const Source #

ToConst Word64 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Word64 -> SrcLoc -> Const Source #

ToConst Word8 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Word8 -> SrcLoc -> Const Source #

ToConst Const Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Const -> SrcLoc -> Const Source #

ToConst String Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: String -> SrcLoc -> Const Source #

ToConst Integer Source # 
Instance details

Defined in Language.C.Quote.Base

ToConst Char Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Char -> SrcLoc -> Const Source #

ToConst Double Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Double -> SrcLoc -> Const Source #

ToConst Float Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Float -> SrcLoc -> Const Source #

ToConst Int Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Int -> SrcLoc -> Const Source #

ToConst Word Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toConst :: Word -> SrcLoc -> Const Source #

class ToExp a where Source #

An instance of ToExp can be converted to a Stm.

Methods

toExp :: a -> SrcLoc -> Exp Source #

Instances

Instances details
ToExp Int16 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int16 -> SrcLoc -> Exp Source #

ToExp Int32 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int32 -> SrcLoc -> Exp Source #

ToExp Int64 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int64 -> SrcLoc -> Exp Source #

ToExp Int8 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int8 -> SrcLoc -> Exp Source #

ToExp Rational Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Rational -> SrcLoc -> Exp Source #

ToExp Word16 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word16 -> SrcLoc -> Exp Source #

ToExp Word32 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word32 -> SrcLoc -> Exp Source #

ToExp Word64 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word64 -> SrcLoc -> Exp Source #

ToExp Word8 Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word8 -> SrcLoc -> Exp Source #

ToExp Exp Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Exp -> SrcLoc -> Exp Source #

ToExp String Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: String -> SrcLoc -> Exp Source #

ToExp Integer Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Integer -> SrcLoc -> Exp Source #

ToExp Char Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Char -> SrcLoc -> Exp Source #

ToExp Double Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Double -> SrcLoc -> Exp Source #

ToExp Float Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Float -> SrcLoc -> Exp Source #

ToExp Int Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int -> SrcLoc -> Exp Source #

ToExp Word Source # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word -> SrcLoc -> Exp Source #