| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Mikan.Compiler.Backend
Description
Interface for compiler backend writers.
Synopsis
- module Mikan.Compiler.Backend.Base
- data Recompile menv mod
- data IsMain
- type Flag opts = opts -> OptM opts
- module Mikan.TypeChecking.Monad
- crInterface :: CheckResult -> Interface
- crMode :: CheckResult -> ModuleCheckMode
- crWarnings :: CheckResult -> Set TCWarning
- data CheckResult where
- pattern CheckResult :: Interface -> Set TCWarning -> ModuleCheckMode -> Source -> CheckResult
- backendInteraction :: AbsolutePath -> [Backend] -> TCM () -> (AbsolutePath -> TCM CheckResult) -> TCM ()
- parseBackendOptions :: [Backend] -> [String] -> CommandLineOptions -> OptM ([Backend], CommandLineOptions)
- callBackend :: BackendName -> IsMain -> CheckResult -> TCM ()
- callBackendInteractTop :: BackendName -> String -> CommandM ()
- callBackendInteractHole :: BackendName -> String -> InteractionId -> Range -> String -> CommandM ()
Documentation
module Mikan.Compiler.Backend.Base
type Flag opts = opts -> OptM opts Source #
f :: Flag opts is an action on the option record that results from
parsing an option. f opts produces either an error message or an
updated options record
module Mikan.TypeChecking.Monad
crInterface :: CheckResult -> Interface Source #
crMode :: CheckResult -> ModuleCheckMode Source #
crWarnings :: CheckResult -> Set TCWarning Source #
data CheckResult where Source #
The result and associated parameters of a type-checked file, when invoked directly via interaction or a backend. Note that the constructor is not exported.
Bundled Patterns
| pattern CheckResult :: Interface -> Set TCWarning -> ModuleCheckMode -> Source -> CheckResult | Flattened unidirectional pattern for |
backendInteraction :: AbsolutePath -> [Backend] -> TCM () -> (AbsolutePath -> TCM CheckResult) -> TCM () Source #
parseBackendOptions :: [Backend] -> [String] -> CommandLineOptions -> OptM ([Backend], CommandLineOptions) Source #
callBackend :: BackendName -> IsMain -> CheckResult -> TCM () Source #
Call the compilerMain function of the given backend.
callBackendInteractTop :: BackendName -> String -> CommandM () Source #
Call the backendInteractTop function of the given backend.
callBackendInteractHole :: BackendName -> String -> InteractionId -> Range -> String -> CommandM () Source #
Call the backendInteractHole function of the given backend.