Constructors
Backend :: NFData opts => Backend'_boot tcm opts env menv mod def -> Backend_boot tcm
Instances1NFData
NFData (Backend_boot tcm)Defined in Agda-2.7.0.1 · Agda.Compiler.Backend.Base
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05
ModuleAgda-2.7.0.1Haskell2010
Backend :: NFData opts => Backend'_boot tcm opts env menv mod def -> Backend_boot tcmNFData (Backend_boot tcm)Defined in Agda-2.7.0.1 · Agda.Compiler.Backend.BaseBackend'backendName :: StringbackendVersion :: Maybe StringOptional version information to be printed with --version.
options :: optsDefault options
commandLineFlags :: [OptDescr (Flag opts)]Backend-specific command-line flags. Should at minimum contain a flag to enable the backend.
isEnabled :: opts -> BoolUnless the backend has been enabled, runAgda will fall back to
vanilla Agda behaviour.
preCompile :: opts -> tcm envCalled after type checking completes, but before compilation starts.
postCompile :: env -> IsMain -> Map TopLevelModuleName mod -> tcm ()Called after module compilation has completed. The IsMain argument
is NotMain if the --no-main flag is present.
preModule :: env -> IsMain -> TopLevelModuleName -> Maybe FilePath -> tcm (Recompile menv mod)Called before compilation of each module. Gets the path to the
.agdai file to allow up-to-date checking of previously written
compilation results. Should return Skip m if compilation is not
required. Will be Nothing if only scope checking.
postModule :: env -> menv -> IsMain -> TopLevelModuleName -> [def] -> tcm modCalled after all definitions of a module have been compiled.
compileDef :: env -> menv -> IsMain -> Definition -> tcm defCompile a single definition.
scopeCheckingSuffices :: BoolTrue if the backend works if --only-scope-checking is used.
mayEraseType :: QName -> tcm BoolThe treeless compiler may ask the Backend if elements of the given type maybe possibly erased. The answer should be False if the compilation of the type is used by a third party, e.g. in a FFI binding.
Generic (Backend'_boot tcm opts env menv mod def)Defined in Agda-2.7.0.1 · Agda.Compiler.Backend.BaseNFData opts => NFData (Backend'_boot tcm opts env menv mod def)Defined in Agda-2.7.0.1 · Agda.Compiler.Backend.Basetype Rep (Backend'_boot tcm opts env menv mod def) = D1 ('MetaData "Backend'_boot"
"Agda.Compiler.Backend.Base"
"Agda-2.7.0.1-DbbZpETDDF1KkwuzEZvfn8"
'False) (C1 ('MetaCons "Backend'"
'PrefixI 'True) (((S1 ('MetaSel ('Just "backendName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "backendVersion"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "options"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 opts))) :*: (S1 ('MetaSel ('Just "commandLineFlags"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [OptDescr (Flag opts)]) :*: (S1 ('MetaSel ('Just "isEnabled"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (opts -> Bool)) :*: S1 ('MetaSel ('Just "preCompile"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (opts -> tcm env))))) :*: ((S1 ('MetaSel ('Just "postCompile"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (env -> IsMain -> Map TopLevelModuleName mod -> tcm ())) :*: (S1 ('MetaSel ('Just "preModule"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (env -> IsMain -> TopLevelModuleName -> Maybe FilePath -> tcm (Recompile menv mod))) :*: S1 ('MetaSel ('Just "postModule"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (env -> menv -> IsMain -> TopLevelModuleName -> [def] -> tcm mod)))) :*: (S1 ('MetaSel ('Just "compileDef"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (env -> menv -> IsMain -> Definition -> tcm def)) :*: (S1 ('MetaSel ('Just "scopeCheckingSuffices"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "mayEraseType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QName -> tcm Bool)))))))Defined in Agda-2.7.0.1 · Agda.Compiler.Backend.Base