{-# LANGUAGE OverloadedStrings #-} -- | This module provides a more pleasant way to write C ASTs for language-c -- As a simple example, -- -- > {-# LANGUAGE OverloadedStrings #-} -- > -- > import Language.C.DSL -- > -- > example :: CFunDef -- > example = -- > fun [intTy] "foo"[int "a", int "b"] $ block [ -- > creturn $ "a" + "b" -- > ] -- > -- -- And when loaded into GHCi -- -- > Main*> pretty example -- > int foo(int a, int b) -- > { -- > return a + b; -- > } -- -- This module also exports "Language.C" for simplicity. module Language.C.DSL ( module Language.C.DSL.StringLike, module Language.C.DSL.Exp, module Language.C.DSL.Stat, module Language.C.DSL.Decl, module Language.C) where import Language.C import Language.C.DSL.StringLike import Language.C.DSL.Exp import Language.C.DSL.Stat import Language.C.DSL.Decl