Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type VarEnv = [(Key, Name)]
- type Insert a = Key -> Name -> Exp -> QStM a ()
- data QStM a b
- data Area
- type Key = Either Area Call
- data Call = Call FnSym [Exp]
- type TStmtM a = QStM Stmt a
- getVar :: Key -> VarEnv -> Name
- lookupVar :: Call -> VarEnv -> Name
- callit :: Exp -> [Exp] -> Exp
- mkVar :: String -> Exp
- lookupDerefVar :: Area -> VarEnv -> Name
- expToCall :: FnSym -> [Exp] -> Call
- expToArea :: Exp -> Area
- liftQ :: Q b -> QStM a b
- insert :: a -> QStM a ()
- runToQ :: QStM a b -> Q (b, [a])
- keyToCall :: Key -> Call
- keyToArea :: Key -> Area
- isCall :: Key -> Bool
- isArea :: Key -> Bool
- collectBindExps :: Exp -> [Key]
- runToSt :: QStM a b -> Q [a]
- lnPragma :: SrcLoc -> Q [Dec]