ghc: The GHC API
GHC's functionality can be useful for more things than just compiling Haskell programs. Important use cases are programs that analyse (and perhaps transform) Haskell code. Others include loading Haskell code dynamically in a GHCi-like manner. For this reason, a lot of GHC's functionality is made available through this package.
See https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler for more information.
Modules
[Index] [Quick Jump]
- GHC
- Builtin
- ByteCode
- GHC.Cmm
- GHC.Cmm.BlockId
- GHC.Cmm.CLabel
- GHC.Cmm.CallConv
- GHC.Cmm.CommonBlockElim
- GHC.Cmm.Config
- GHC.Cmm.ContFlowOpt
- GHC.Cmm.Dataflow
- GHC.Cmm.DebugBlock
- GHC.Cmm.Dominators
- GHC.Cmm.Expr
- GHC.Cmm.Graph
- GHC.Cmm.Info
- GHC.Cmm.InitFini
- GHC.Cmm.LRegSet
- GHC.Cmm.LayoutStack
- GHC.Cmm.Lexer
- GHC.Cmm.Lint
- GHC.Cmm.Liveness
- GHC.Cmm.MachOp
- GHC.Cmm.Node
- GHC.Cmm.Opt
- GHC.Cmm.Parser
- GHC.Cmm.Pipeline
- GHC.Cmm.ProcPoint
- GHC.Cmm.Reducibility
- GHC.Cmm.Reg
- GHC.Cmm.Sink
- GHC.Cmm.Switch
- GHC.Cmm.ThreadSanitizer
- GHC.Cmm.Type
- GHC.Cmm.Utils
- GHC.CmmToAsm
- GHC.CmmToAsm.AArch64
- GHC.CmmToAsm.BlockLayout
- GHC.CmmToAsm.CFG
- GHC.CmmToAsm.CPrim
- GHC.CmmToAsm.Config
- GHC.CmmToAsm.Dwarf
- GHC.CmmToAsm.Format
- GHC.CmmToAsm.Instr
- GHC.CmmToAsm.Monad
- GHC.CmmToAsm.PIC
- GHC.CmmToAsm.PPC
- GHC.CmmToAsm.Ppr
- Reg
- GHC.CmmToAsm.Reg.Graph
- GHC.CmmToAsm.Reg.Linear
- GHC.CmmToAsm.Reg.Linear.AArch64
- GHC.CmmToAsm.Reg.Linear.Base
- GHC.CmmToAsm.Reg.Linear.FreeRegs
- GHC.CmmToAsm.Reg.Linear.JoinToTargets
- GHC.CmmToAsm.Reg.Linear.PPC
- GHC.CmmToAsm.Reg.Linear.StackMap
- GHC.CmmToAsm.Reg.Linear.State
- GHC.CmmToAsm.Reg.Linear.Stats
- GHC.CmmToAsm.Reg.Linear.X86
- GHC.CmmToAsm.Reg.Linear.X86_64
- GHC.CmmToAsm.Reg.Liveness
- GHC.CmmToAsm.Reg.Target
- GHC.CmmToAsm.Reg.Utils
- GHC.CmmToAsm.Types
- GHC.CmmToAsm.Utils
- GHC.CmmToAsm.Wasm
- GHC.CmmToAsm.X86
- GHC.CmmToC
- GHC.CmmToLlvm
- GHC.Core
- GHC.Core.Class
- GHC.Core.Coercion
- GHC.Core.ConLike
- GHC.Core.DataCon
- GHC.Core.FVs
- GHC.Core.FamInstEnv
- GHC.Core.InstEnv
- GHC.Core.LateCC
- GHC.Core.Lint
- GHC.Core.Make
- Map
- GHC.Core.Multiplicity
- Opt
- GHC.Core.Opt.Arity
- GHC.Core.Opt.CSE
- GHC.Core.Opt.CallArity
- GHC.Core.Opt.CallerCC
- GHC.Core.Opt.ConstantFold
- GHC.Core.Opt.CprAnal
- GHC.Core.Opt.DmdAnal
- GHC.Core.Opt.Exitify
- GHC.Core.Opt.FloatIn
- GHC.Core.Opt.FloatOut
- GHC.Core.Opt.LiberateCase
- GHC.Core.Opt.Monad
- GHC.Core.Opt.OccurAnal
- GHC.Core.Opt.Pipeline
- GHC.Core.Opt.SetLevels
- GHC.Core.Opt.Simplify
- GHC.Core.Opt.SpecConstr
- GHC.Core.Opt.Specialise
- GHC.Core.Opt.StaticArgs
- GHC.Core.Opt.Stats
- GHC.Core.Opt.WorkWrap
- GHC.Core.PatSyn
- GHC.Core.Ppr
- GHC.Core.Predicate
- GHC.Core.Reduction
- GHC.Core.RoughMap
- GHC.Core.Rules
- GHC.Core.Seq
- GHC.Core.SimpleOpt
- GHC.Core.Stats
- GHC.Core.Subst
- GHC.Core.Tidy
- TyCo
- GHC.Core.TyCon
- GHC.Core.Type
- GHC.Core.Unfold
- GHC.Core.Unify
- GHC.Core.UsageEnv
- GHC.Core.Utils
- GHC.CoreToIface
- GHC.CoreToStg
- Data
- GHC.Data.Bag
- GHC.Data.Bitmap
- GHC.Data.Bool
- GHC.Data.BooleanFormula
- GHC.Data.EnumSet
- GHC.Data.FastMutInt
- GHC.Data.FastString
- GHC.Data.FiniteMap
- Graph
- GHC.Data.IOEnv
- List
- GHC.Data.Maybe
- GHC.Data.OrdList
- GHC.Data.Pair
- GHC.Data.SmallArray
- GHC.Data.Stream
- GHC.Data.Strict
- GHC.Data.StringBuffer
- GHC.Data.TrieMap
- GHC.Data.Unboxed
- GHC.Data.UnionFind
- Driver
- GHC.Driver.Backend
- GHC.Driver.Backpack
- GHC.Driver.CmdLine
- GHC.Driver.CodeOutput
- GHC.Driver.Config
- GHC.Driver.Config.Cmm
- GHC.Driver.Config.CmmToAsm
- GHC.Driver.Config.CmmToLlvm
- Core
- GHC.Driver.Config.CoreToStg
- GHC.Driver.Config.Diagnostic
- GHC.Driver.Config.Finder
- GHC.Driver.Config.HsToCore
- GHC.Driver.Config.Linker
- GHC.Driver.Config.Logger
- GHC.Driver.Config.Parser
- Stg
- GHC.Driver.Config.StgToCmm
- GHC.Driver.Config.StgToJS
- GHC.Driver.Config.Tidy
- GHC.Driver.Env
- GHC.Driver.Errors
- GHC.Driver.Flags
- GHC.Driver.GenerateCgIPEStub
- GHC.Driver.Hooks
- GHC.Driver.LlvmConfigCache
- GHC.Driver.Main
- GHC.Driver.Make
- GHC.Driver.MakeFile
- GHC.Driver.Monad
- GHC.Driver.Phases
- GHC.Driver.Pipeline
- GHC.Driver.Plugins
- GHC.Driver.Ppr
- GHC.Driver.Session
- GHC.Hs
- GHC.HsToCore
- GHC.HsToCore.Arrows
- GHC.HsToCore.Binds
- GHC.HsToCore.Breakpoints
- GHC.HsToCore.Coverage
- GHC.HsToCore.Docs
- Errors
- GHC.HsToCore.Expr
- Foreign
- GHC.HsToCore.GuardedRHSs
- GHC.HsToCore.ListComp
- GHC.HsToCore.Match
- GHC.HsToCore.Monad
- GHC.HsToCore.Pmc
- GHC.HsToCore.Quote
- GHC.HsToCore.Ticks
- GHC.HsToCore.Types
- GHC.HsToCore.Usage
- GHC.HsToCore.Utils
- Iface
- GHC.IfaceToCore
- JS
- GHC.Linker
- GHC.Llvm
- GHC.Parser
- GHC.Platform
- GHC.Platform.AArch64
- GHC.Platform.ARM
- GHC.Platform.ArchOS
- GHC.Platform.Constants
- GHC.Platform.Host
- GHC.Platform.LoongArch64
- GHC.Platform.NoRegs
- GHC.Platform.PPC
- GHC.Platform.Profile
- GHC.Platform.RISCV64
- GHC.Platform.Reg
- GHC.Platform.Regs
- GHC.Platform.S390X
- GHC.Platform.Wasm32
- GHC.Platform.Ways
- GHC.Platform.X86
- GHC.Platform.X86_64
- GHC.Plugins
- GHC.Prelude
- Rename
- Runtime
- GHC.Settings
- Stg
- GHC.StgToByteCode
- GHC.StgToCmm
- GHC.StgToCmm.ArgRep
- GHC.StgToCmm.Bind
- GHC.StgToCmm.CgUtils
- GHC.StgToCmm.Closure
- GHC.StgToCmm.Config
- GHC.StgToCmm.DataCon
- GHC.StgToCmm.Env
- GHC.StgToCmm.Expr
- GHC.StgToCmm.ExtCode
- GHC.StgToCmm.Foreign
- GHC.StgToCmm.Heap
- GHC.StgToCmm.Hpc
- GHC.StgToCmm.InfoTableProv
- GHC.StgToCmm.Layout
- GHC.StgToCmm.Lit
- GHC.StgToCmm.Monad
- GHC.StgToCmm.Prim
- GHC.StgToCmm.Prof
- GHC.StgToCmm.Sequel
- GHC.StgToCmm.TagCheck
- GHC.StgToCmm.Ticky
- GHC.StgToCmm.Types
- GHC.StgToCmm.Utils
- GHC.StgToJS
- GHC.StgToJS.Apply
- GHC.StgToJS.Arg
- GHC.StgToJS.Closure
- GHC.StgToJS.CodeGen
- GHC.StgToJS.CoreUtils
- GHC.StgToJS.DataCon
- GHC.StgToJS.Deps
- GHC.StgToJS.Expr
- GHC.StgToJS.ExprCtx
- GHC.StgToJS.FFI
- GHC.StgToJS.Heap
- GHC.StgToJS.Ids
- Linker
- GHC.StgToJS.Literal
- GHC.StgToJS.Monad
- GHC.StgToJS.Object
- GHC.StgToJS.Prim
- GHC.StgToJS.Printer
- GHC.StgToJS.Profiling
- GHC.StgToJS.Regs
- Rts
- GHC.StgToJS.Sinker
- GHC.StgToJS.Stack
- GHC.StgToJS.StaticPtr
- GHC.StgToJS.StgUtils
- GHC.StgToJS.Symbols
- GHC.StgToJS.Types
- GHC.StgToJS.Utils
- GHC.SysTools
- Tc
- GHC.ThToHs
- Types
- GHC.Types.Annotations
- GHC.Types.Avail
- GHC.Types.Basic
- GHC.Types.BreakInfo
- GHC.Types.CompleteMatch
- GHC.Types.CostCentre
- GHC.Types.Cpr
- GHC.Types.Demand
- GHC.Types.Error
- GHC.Types.FieldLabel
- GHC.Types.Fixity
- GHC.Types.ForeignCall
- GHC.Types.ForeignStubs
- GHC.Types.Hint
- GHC.Types.HpcInfo
- GHC.Types.IPE
- GHC.Types.Id
- GHC.Types.Literal
- GHC.Types.Meta
- GHC.Types.Name
- GHC.Types.PkgQual
- GHC.Types.ProfAuto
- GHC.Types.RepType
- GHC.Types.SafeHaskell
- GHC.Types.SourceError
- GHC.Types.SourceFile
- GHC.Types.SourceText
- GHC.Types.SrcLoc
- GHC.Types.Target
- GHC.Types.Tickish
- GHC.Types.TyThing
- GHC.Types.TypeEnv
- GHC.Types.Unique
- GHC.Types.Var
- GHC.Unit
- Utils
- GHC.Utils.Asm
- GHC.Utils.Binary
- GHC.Utils.BufHandle
- GHC.Utils.CliOption
- GHC.Utils.Constants
- GHC.Utils.Error
- GHC.Utils.Exception
- GHC.Utils.FV
- GHC.Utils.Fingerprint
- GHC.Utils.GlobalVars
- IO
- GHC.Utils.Json
- GHC.Utils.Lexeme
- GHC.Utils.Logger
- GHC.Utils.Misc
- GHC.Utils.Monad
- GHC.Utils.Outputable
- GHC.Utils.Panic
- GHC.Utils.Ppr
- GHC.Utils.TmpFs
- GHC.Utils.Trace
- Wasm
- Language
- Haskell
- Language.Haskell.Syntax
- Haskell
Flags
Manual Flags
Name | Description | Default |
---|---|---|
internal-interpreter | Build with internal interpreter support. | Disabled |
dynamic-system-linker | The system can load dynamic code. This is not the case for musl. | Enabled |
Automatic Flags
Name | Description | Default |
---|---|---|
build-tool-depends | Use build-tool-depends | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- ghc-9.6.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- 0, 8.2.1, 8.4.3, 8.4.4, 8.6.1, 8.6.4, 8.6.5, 8.8.1, 8.8.3, 8.10.1, 8.10.2, 8.10.7, 9.2.1, 9.2.2, 9.2.3, 9.2.3.20220620, 9.2.4, 9.2.5, 9.2.6, 9.2.7, 9.2.8, 9.4.0.20220623, 9.4.2, 9.4.3, 9.4.4, 9.6.0.20230111, 9.6.0.20230128, 9.6.0.20230210, 9.6.0.20230302, 9.6.1, 9.6.2, 9.6.3, 9.8.0.20230919, 9.8.0.20230929, 9.8.1, 9.10.1
Versions [RSS] | 8.2.1, 8.2.2, 8.4.1, 8.4.3, 8.4.4, 8.6.1, 8.6.4, 8.6.5, 8.8.1, 8.8.3, 8.10.1, 8.10.2, 8.10.7, 9.0.2, 9.2.1, 9.2.2, 9.2.3, 9.2.3.20220620, 9.2.4, 9.2.5, 9.2.6, 9.2.7, 9.2.8, 9.4.1, 9.4.2, 9.4.3, 9.4.4, 9.4.5, 9.4.6, 9.4.7, 9.4.8, 9.6.1, 9.6.3, 9.6.4, 9.6.5, 9.6.6, 9.8.1, 9.8.2, 9.10.1 (info) |
---|---|
Dependencies | array (>=0.1 && <0.6), base (>=4.11 && <4.19), binary (>=0.8 && <0.9), bytestring (>=0.9 && <0.12), containers (>=0.6.2.1 && <0.7), deepseq (>=1.4 && <1.5), directory (>=1 && <1.4), exceptions (>=0.10 && <0.11), filepath (>=1 && <1.5), ghc-boot (==9.6.4), ghc-heap (==9.6.4), ghci (==9.6.4), hpc (>=0.6 && <0.7), process (>=1 && <1.7), stm, template-haskell (>=2.20 && <2.21), time (>=1.4 && <1.13), transformers (>=0.5 && <0.7), unix (>=2.7 && <2.9), Win32 (>=2.3 && <2.14) [details] |
License | BSD-3-Clause |
Author | The GHC Team |
Maintainer | glasgow-haskell-users@haskell.org |
Category | Development |
Home page | http://www.haskell.org/ghc/ |
Uploaded | by wz1000 at 2024-01-09T09:33:33Z |
Distributions | Arch:9.2.8, Debian:8.10.7, Fedora:9.4.5, NixOS:9.6.6 |
Reverse Dependencies | 317 direct, 14566 indirect [details] |
Downloads | 11601 total (195 in the last 30 days) |
Rating | 2.5 (votes: 6) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |