Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data HsModuleEnv = HsModuleEnv {}
- class Monad m => ReadHsModuleEnv m where
- newtype HsCompileState = HsCompileState {}
- type HsCompileT m = ReaderT HsModuleEnv (StateT HsCompileState m)
- type HsCompileM = HsCompileT TCM
- runHsCompileT' :: HsCompileT m a -> HsModuleEnv -> HsCompileState -> m (a, HsCompileState)
- runHsCompileT :: HsCompileT m a -> HsModuleEnv -> m (a, HsCompileState)
- curIsMainModule :: ReadHsModuleEnv m => m Bool
- curAgdaMod :: ReadHsModuleEnv m => m ModuleName
- curHsMod :: ReadHsModuleEnv m => m ModuleName
- ihname :: String -> Nat -> Name
- unqhname :: String -> QName -> Name
- tlmodOf :: ReadTCState m => ModuleName -> m ModuleName
- xqual :: QName -> Name -> HsCompileM QName
- xhqn :: String -> QName -> HsCompileM QName
- hsName :: String -> QName
- conhqn :: QName -> HsCompileM QName
- bltQual :: String -> String -> HsCompileM QName
- dname :: QName -> Name
- duname :: QName -> Name
- hsPrimOp :: String -> QOp
- hsPrimOpApp :: String -> Exp -> Exp -> Exp
- hsInt :: Integer -> Exp
- hsTypedInt :: Integral a => a -> Exp
- hsTypedDouble :: Real a => a -> Exp
- hsLet :: Name -> Exp -> Exp -> Exp
- hsVarUQ :: Name -> Exp
- hsAppView :: Exp -> [Exp]
- hsOpToExp :: QOp -> Exp
- hsLambda :: [Pat] -> Exp -> Exp
- hsMapAlt :: (Exp -> Exp) -> Alt -> Alt
- hsMapRHS :: (Exp -> Exp) -> Rhs -> Rhs
- mazstr :: String
- mazName :: Name
- mazMod' :: String -> ModuleName
- mazMod :: ModuleName -> ModuleName
- mazCoerceName :: String
- mazErasedName :: String
- mazAnyTypeName :: String
- mazCoerce :: Exp
- mazIncompleteMatch :: Exp
- rtmIncompleteMatch :: QName -> Exp
- mazUnreachableError :: Exp
- rtmUnreachableError :: Exp
- mazHole :: Exp
- rtmHole :: String -> Exp
- mazAnyType :: Type
- mazRTE :: ModuleName
- mazRTEFloat :: ModuleName
- rtmQual :: String -> QName
- rtmVar :: String -> Exp
- rtmError :: Text -> Exp
- unsafeCoerceMod :: ModuleName
- fakeD :: Name -> String -> Decl
- fakeDS :: String -> String -> Decl
- fakeDQ :: QName -> String -> Decl
- fakeType :: String -> Type
- fakeExp :: String -> Exp
- fakeDecl :: String -> Decl
- emptyBinds :: Maybe Binds
- isModChar :: Char -> Bool
Documentation
data HsModuleEnv Source #
HsModuleEnv | |
|
Instances
Monad m => ReadHsModuleEnv (ReaderT HsModuleEnv m) Source # | |
Defined in Agda.Compiler.MAlonzo.Misc |
class Monad m => ReadHsModuleEnv m where Source #
Monads that can produce an HsModuleEnv
Nothing
askHsModuleEnv :: m HsModuleEnv Source #
default askHsModuleEnv :: (MonadTrans t, Monad n, m ~ t n, ReadHsModuleEnv n) => m HsModuleEnv Source #
Instances
ReadHsModuleEnv m => ReadHsModuleEnv (MaybeT m) Source # | |
Defined in Agda.Compiler.MAlonzo.Misc | |
ReadHsModuleEnv m => ReadHsModuleEnv (IdentityT m) Source # | |
Defined in Agda.Compiler.MAlonzo.Misc | |
ReadHsModuleEnv m => ReadHsModuleEnv (ExceptT e m) Source # | |
Defined in Agda.Compiler.MAlonzo.Misc askHsModuleEnv :: ExceptT e m HsModuleEnv Source # | |
Monad m => ReadHsModuleEnv (ReaderT HsModuleEnv m) Source # | |
Defined in Agda.Compiler.MAlonzo.Misc | |
Monad m => ReadHsModuleEnv (ReaderT GHCModule m) Source # | |
Defined in Agda.Compiler.MAlonzo.Compiler | |
Monad m => ReadHsModuleEnv (ReaderT GHCModuleEnv m) Source # | |
Defined in Agda.Compiler.MAlonzo.Compiler | |
ReadHsModuleEnv m => ReadHsModuleEnv (StateT s m) Source # | |
Defined in Agda.Compiler.MAlonzo.Misc askHsModuleEnv :: StateT s m HsModuleEnv Source # |
newtype HsCompileState Source #
Instances
Eq HsCompileState Source # | |
Defined in Agda.Compiler.MAlonzo.Misc (==) :: HsCompileState -> HsCompileState -> Bool # (/=) :: HsCompileState -> HsCompileState -> Bool # | |
Semigroup HsCompileState Source # | |
Defined in Agda.Compiler.MAlonzo.Misc (<>) :: HsCompileState -> HsCompileState -> HsCompileState # sconcat :: NonEmpty HsCompileState -> HsCompileState # stimes :: Integral b => b -> HsCompileState -> HsCompileState # | |
Monoid HsCompileState Source # | |
Defined in Agda.Compiler.MAlonzo.Misc mappend :: HsCompileState -> HsCompileState -> HsCompileState # mconcat :: [HsCompileState] -> HsCompileState # |
type HsCompileT m = ReaderT HsModuleEnv (StateT HsCompileState m) Source #
Transformer adding read-only module info and a writable set of imported modules
type HsCompileM = HsCompileT TCM Source #
The default compilation monad is the entire TCM (☹️) enriched with our state and module info
runHsCompileT' :: HsCompileT m a -> HsModuleEnv -> HsCompileState -> m (a, HsCompileState) Source #
runHsCompileT :: HsCompileT m a -> HsModuleEnv -> m (a, HsCompileState) Source #
curIsMainModule :: ReadHsModuleEnv m => m Bool Source #
Whether the current module is expected to have the main
function.
This corresponds to the IsMain
flag provided to the backend,
not necessarily whether the GHC module actually has a main
function defined.
curAgdaMod :: ReadHsModuleEnv m => m ModuleName Source #
This is the same value as curMName
, but does not rely on the TCM's state.
(curMName
and co. should be removed, but the current Backend
interface
is not sufficient yet to allow that)
curHsMod :: ReadHsModuleEnv m => m ModuleName Source #
Get the Haskell module name of the currently-focused Agda module
Types coming from Agda are named "T<number>".
Other definitions coming from Agda are named "d<number>".
Names coming from Haskell must always be used qualified.
tlmodOf :: ReadTCState m => ModuleName -> m ModuleName Source #
hsTypedInt :: Integral a => a -> Exp Source #
hsTypedDouble :: Real a => a -> Exp Source #
mazMod' :: String -> ModuleName Source #
mazMod :: ModuleName -> ModuleName Source #
rtmIncompleteMatch :: QName -> Exp Source #
mazAnyType :: Type Source #
mazRTE :: ModuleName Source #
emptyBinds :: Maybe Binds Source #