Copyright | (c) 2006-2011 Harvard University (c) 2011-2013 Geoffrey Mainland : (c) 2013-2015 Drexel University |
---|---|
License | BSD-style |
Maintainer | mainland@drexel.edu |
Safe Haskell | None |
Language | Haskell98 |
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
- class ToIdent a where
- class ToConst a where
- class ToExp a where
- cexp :: QuasiQuoter
- cedecl :: QuasiQuoter
- cdecl :: QuasiQuoter
- csdecl :: QuasiQuoter
- cenum :: QuasiQuoter
- ctyquals :: QuasiQuoter
- cty :: QuasiQuoter
- cparam :: QuasiQuoter
- cparams :: QuasiQuoter
- cinit :: QuasiQuoter
- cstm :: QuasiQuoter
- cstms :: QuasiQuoter
- citem :: QuasiQuoter
- citems :: QuasiQuoter
- cunit :: QuasiQuoter
- cfun :: QuasiQuoter
Documentation
class ToIdent a where Source #
An instance of ToIndent
can be converted to a Id
.
class ToConst a where Source #
Instances
Instances
cexp :: QuasiQuoter Source #
cedecl :: QuasiQuoter Source #
cdecl :: QuasiQuoter Source #
csdecl :: QuasiQuoter Source #
cenum :: QuasiQuoter Source #
cty :: QuasiQuoter Source #
cparam :: QuasiQuoter Source #
cinit :: QuasiQuoter Source #
cstm :: QuasiQuoter Source #
cstms :: QuasiQuoter Source #
citem :: QuasiQuoter Source #
citems :: QuasiQuoter Source #
cunit :: QuasiQuoter Source #
cfun :: QuasiQuoter Source #