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.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.Ppr
- GHC.Cmm.ProcPoint
- GHC.Cmm.Sink
- GHC.Cmm.Switch
- 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.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.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.UnionFind
- Driver
- GHC.Driver.Backend
- GHC.Driver.Backpack
- GHC.Driver.CmdLine
- GHC.Driver.CodeOutput
- GHC.Driver.Config
- GHC.Driver.Env
- GHC.Driver.Errors
- GHC.Driver.Flags
- GHC.Driver.GenerateCgIPEStub
- GHC.Driver.Hooks
- 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
- Iface
- GHC.IfaceToCore
- GHC.Linker
- GHC.Llvm
- GHC.Parser
- GHC.Platform
- 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.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.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.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
- Language
Flags
Manual Flags
Name | Description | Default |
---|---|---|
internal-interpreter | Build with internal interpreter support. | Disabled |
terminfo | Build GHC with terminfo support on non-Windows platforms. | Enabled |
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.4.2.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.18), 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.4.2), ghc-heap (==9.4.2), ghci (==9.4.2), hpc (>=0.6 && <0.7), process (>=1 && <1.7), stm, template-haskell (>=2.19 && <2.20), terminfo (>=0.4 && <0.5), time (>=1.4 && <1.13), transformers (>=0.5 && <0.6), unix (>=2.7 && <2.9), Win32 (>=2.3 && <2.13) [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 BenGamari at 2022-08-22T15:57:42Z |
Distributions | Arch:9.2.8, Debian:8.10.7, Fedora:9.4.5, NixOS:9.6.6 |
Reverse Dependencies | 318 direct, 14605 indirect [details] |
Downloads | 11746 total (97 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] |