Package9.10.3Development
ghc
The GHC API
- Version9.10.3
- CategoryDevelopment
- LicenceBSD-3-Clause
- AuthorThe GHC Team
- Maintainerglasgow-haskell-users@haskell.org
- Homepagewww.haskell.org/ghc
- Pinned bywith GHC
- Sourcehackage.haskell.org/package/ghc-9.10.3
Modules
765 modules- GHC332
- GHC.Builtin.Names1098
- GHC.Builtin.Names.TH568
- GHC.Builtin.PrimOps28
- GHC.Builtin.PrimOps.Casts1
- GHC.Builtin.PrimOps.Ids2PrimOp's Ids
- GHC.Builtin.Types242This module is about types that can be defined in Haskell, but which
- GHC.Builtin.Types.Literals18
- GHC.Builtin.Types.Prim229This module defines TyCons that can't be expressed in Haskell.
- GHC.Builtin.Uniques37This is where we define a mapping from Uniques to their associated
- GHC.Builtin.Utils12The GHC.Builtin.Utils interface to the compiler's prelude knowledge. This module serves as the central gathering point for names which the
- GHC.ByteCode.Asm8Bytecode assembler and linker
- GHC.ByteCode.InfoTable1Generate infotables for interpreter-made bytecodes
- GHC.ByteCode.Instr4Bytecode instruction definitions
- GHC.ByteCode.Linker5Bytecode assembler and linker
- GHC.ByteCode.Types29Bytecode assembler types
- GHC.Cmm39
- GHC.Cmm.BlockId5
- GHC.Cmm.CLabel109
- GHC.Cmm.CallConv5
- GHC.Cmm.CommonBlockElim1
- GHC.Cmm.Config2Cmm compilation configuration
- GHC.Cmm.ContFlowOpt4
- GHC.Cmm.Dataflow23
- GHC.Cmm.Dataflow.Block30
- GHC.Cmm.Dataflow.Graph12
- GHC.Cmm.Dataflow.Label54
- GHC.Cmm.DebugBlock10
- GHC.Cmm.Dominators10
- GHC.Cmm.Expr53
- GHC.Cmm.GenericOpt1
- GHC.Cmm.Graph34
- GHC.Cmm.Info26
- GHC.Cmm.Info.Build9
- GHC.Cmm.InitFini2Utilities for dealing with constructors/destructors.
- GHC.Cmm.LRegSet10
- GHC.Cmm.LayoutStack2
- GHC.Cmm.Lexer2
- GHC.Cmm.Lint2
- GHC.Cmm.Liveness8
- GHC.Cmm.MachOp59
- GHC.Cmm.Node24
- GHC.Cmm.Opt4
- GHC.Cmm.Parser2
- GHC.Cmm.Parser.Config2
- GHC.Cmm.Parser.Monad8
- GHC.Cmm.Pipeline1
- GHC.Cmm.ProcPoint7
- GHC.Cmm.Reducibility3Test a Cmm control-flow graph for reducibility. And provide a
- GHC.Cmm.Reg22
- GHC.Cmm.Sink1
- GHC.Cmm.Switch14
- GHC.Cmm.Switch.Implement1
- GHC.Cmm.ThreadSanitizer1Annotate a CmmGraph with ThreadSanitizer instrumentation calls.
- GHC.Cmm.Type61
- GHC.Cmm.Utils86
- GHC.CmmToAsm3Note [Native code generator]
- GHC.CmmToAsm.AArch641Native code generator for AArch64 architectures
- GHC.CmmToAsm.AArch64.CodeGen3
- GHC.CmmToAsm.AArch64.Cond1
- GHC.CmmToAsm.AArch64.Instr104
- GHC.CmmToAsm.AArch64.Ppr3
- GHC.CmmToAsm.AArch64.RegInfo5
- GHC.CmmToAsm.AArch64.Regs14
- GHC.CmmToAsm.BlockLayout2
- GHC.CmmToAsm.CFG33
- GHC.CmmToAsm.CFG.Dominators21The Lengauer-Tarjan graph dominators algorithm. 1 Lengauer, Tarjan,
- GHC.CmmToAsm.CFG.Weight3
- GHC.CmmToAsm.CPrim13Generating C symbol names emitted by the compiler.
- GHC.CmmToAsm.Config4Native code generator configuration
- GHC.CmmToAsm.Dwarf1
- GHC.CmmToAsm.Dwarf.Constants86Constants describing the DWARF format. Most of this simply
- GHC.CmmToAsm.Dwarf.Types18
- GHC.CmmToAsm.Format8Formats on this architecture
- GHC.CmmToAsm.Instr3
- GHC.CmmToAsm.Monad28
- GHC.CmmToAsm.PIC8
- GHC.CmmToAsm.PPC1Native code generator for PPC architectures
- GHC.CmmToAsm.PPC.CodeGen3
- GHC.CmmToAsm.PPC.Cond3
- GHC.CmmToAsm.PPC.Instr22
- GHC.CmmToAsm.PPC.Ppr2
- GHC.CmmToAsm.PPC.RegInfo5
- GHC.CmmToAsm.PPC.Regs32
- GHC.CmmToAsm.Ppr6
- GHC.CmmToAsm.Reg.Graph1Graph coloring register allocator.
- GHC.CmmToAsm.Reg.Graph.Base6Utils for calculating general worst, bound, squeese and free, functions. as per: "A Generalized Algorithm for Graph-Coloring Register All…
- GHC.CmmToAsm.Reg.Graph.Coalesce2Register coalescing.
- GHC.CmmToAsm.Reg.Graph.Spill3When there aren't enough registers to hold all the vregs we have to spill
- GHC.CmmToAsm.Reg.Graph.SpillClean1Clean out unneeded spill/reload instructions. Handling of join points
- GHC.CmmToAsm.Reg.Graph.SpillCost9
- GHC.CmmToAsm.Reg.Graph.Stats8Carries interesting info for debugging / profiling of the
- GHC.CmmToAsm.Reg.Graph.TrivColorable1
- GHC.CmmToAsm.Reg.Graph.X866A description of the register set of the X86. This isn't used directly in GHC proper. See RegArchBase.hs for the reference.
- GHC.CmmToAsm.Reg.Linear1
- GHC.CmmToAsm.Reg.Linear.AArch647
- GHC.CmmToAsm.Reg.Linear.Base10Put common type definitions here to break recursive module dependencies.
- GHC.CmmToAsm.Reg.Linear.FreeRegs2
- GHC.CmmToAsm.Reg.Linear.JoinToTargets1Handles joining of a jump instruction to its targets.
- GHC.CmmToAsm.Reg.Linear.PPC6Free regs map for PowerPC
- GHC.CmmToAsm.Reg.Linear.StackMap5The assignment of virtual registers to stack slots
- GHC.CmmToAsm.Reg.Linear.State18State monad for the linear register allocator.
- GHC.CmmToAsm.Reg.Linear.Stats3
- GHC.CmmToAsm.Reg.Linear.X866Free regs map for i386
- GHC.CmmToAsm.Reg.Linear.X86_646Free regs map for x86_64
- GHC.CmmToAsm.Reg.Liveness28
- GHC.CmmToAsm.Reg.Target6Hard wired things related to registers.
- GHC.CmmToAsm.Reg.Utils2
- GHC.CmmToAsm.Types8
- GHC.CmmToAsm.Utils2
- GHC.CmmToAsm.Wasm1
- GHC.CmmToAsm.Wasm.Asm2
- GHC.CmmToAsm.Wasm.FromCmm4
- GHC.CmmToAsm.Wasm.Types33
- GHC.CmmToAsm.Wasm.Utils4
- GHC.CmmToAsm.X862Native code generator for x86 and x86-64 architectures
- GHC.CmmToAsm.X86.CodeGen5
- GHC.CmmToAsm.X86.Cond4
- GHC.CmmToAsm.X86.Instr27
- GHC.CmmToAsm.X86.Ppr2
- GHC.CmmToAsm.X86.RegInfo2
- GHC.CmmToAsm.X86.Regs66
- GHC.CmmToC1
- GHC.CmmToLlvm4This is the top-level module in the LLVM code generator.
- GHC.CmmToLlvm.Base47Base LLVM Code Generation module Contains functions useful through out the code generator.
- GHC.CmmToLlvm.CodeGen1Handle conversion of CmmProc to LLVM code.
- GHC.CmmToLlvm.Config4Llvm code generator configuration
- GHC.CmmToLlvm.Data2Handle conversion of CmmData to LLVM code.
- GHC.CmmToLlvm.Mangler1GHC LLVM Mangler This script processes the assembly produced by LLVM, rewriting all symbols
- GHC.CmmToLlvm.Ppr3Pretty print helpers for the LLVM Code generator.
- GHC.CmmToLlvm.Regs11Deal with Cmm registers
- GHC.CmmToLlvm.Version7
- GHC.CmmToLlvm.Version.Bounds2
- GHC.CmmToLlvm.Version.Type1
- GHC.Core166GHC.Core holds all the main data types for use by for the Glasgow Haskell Compiler midsection
- GHC.Core.Class32
- GHC.Core.Coercion200Module for (a) type kinds and (b) type coercions,
- GHC.Core.Coercion.Axiom38Module for coercion axioms, used to represent type family instances
- GHC.Core.Coercion.Opt2
- GHC.Core.ConLike18
- GHC.Core.DataCon85
- GHC.Core.FVs51A module concerned with finding the free variables of an expression.
- GHC.Core.FamInstEnv45
- GHC.Core.InstEnv55
- GHC.Core.LateCC1Adds cost-centers after the core pipline has run.
- GHC.Core.LateCC.OverloadedCalls1
- GHC.Core.LateCC.TopLevelBinds2
- GHC.Core.LateCC.Types6Types related to late cost center insertion
- GHC.Core.LateCC.Utils3
- GHC.Core.Lint15
- GHC.Core.Lint.Interactive1
- GHC.Core.Make65Handy functions for creating much Core syntax
- GHC.Core.Map.Expr17
- GHC.Core.Map.Type32
- GHC.Core.Multiplicity21This module defines the semi-ring of multiplicities, and associated functions.
- GHC.Core.Opt.Arity32Arity and eta expansion
- GHC.Core.Opt.CSE2
- GHC.Core.Opt.CallArity2
- GHC.Core.Opt.CallerCC4Adds cost-centers to call sites selected with the -fprof-caller=...
- GHC.Core.Opt.CallerCC.Types5
- GHC.Core.Opt.ConstantFold4Constant Folder
- GHC.Core.Opt.CprAnal1Constructed Product Result analysis. Identifies functions that surely
- GHC.Core.Opt.DmdAnal2
- GHC.Core.Opt.Exitify1
- GHC.Core.Opt.FloatIn1
- GHC.Core.Opt.FloatOut1
- GHC.Core.Opt.LiberateCase2
- GHC.Core.Opt.Monad28
- GHC.Core.Opt.OccurAnal4
- GHC.Core.Opt.Pipeline2
- GHC.Core.Opt.Pipeline.Types4
- GHC.Core.Opt.SetLevels15
- GHC.Core.Opt.Simplify4
- GHC.Core.Opt.Simplify.Env82
- GHC.Core.Opt.Simplify.Inline4
- GHC.Core.Opt.Simplify.Iteration3
- GHC.Core.Opt.Simplify.Monad17
- GHC.Core.Opt.Simplify.Utils47
- GHC.Core.Opt.SpecConstr3
- GHC.Core.Opt.Specialise2
- GHC.Core.Opt.StaticArgs1
- GHC.Core.Opt.Stats10
- GHC.Core.Opt.WorkWrap2
- GHC.Core.Opt.WorkWrap.Utils16
- GHC.Core.PatSyn22
- GHC.Core.Ppr16
- GHC.Core.Predicate39
- GHC.Core.Reduction35
- GHC.Core.RoughMap20RoughMap is an approximate finite map data structure keyed on
- GHC.Core.Rules24Functions for collecting together and applying rewrite rules to a module.
- GHC.Core.Rules.Config1
- GHC.Core.Seq7Various utilities for forcing Core structures It can often be useful to force various parts of the AST. This module
- GHC.Core.SimpleOpt10
- GHC.Core.Stats5Functions to computing the statistics reflective of the "size"
- GHC.Core.Subst56
- GHC.Core.Tidy4
- GHC.Core.TyCo.Compare17Type equality and comparison
- GHC.Core.TyCo.FVs54
- GHC.Core.TyCo.Ppr34Pretty-printing types and coercions.
- GHC.Core.TyCo.Subst88Substitution into types and coercions.
- GHC.Core.TyCo.Tidy16Tidying types and coercions for printing in error messages.
- GHC.Core.TyCon159
- GHC.Core.TyCon.Env38
- GHC.Core.TyCon.RecWalk5
- GHC.Core.TyCon.Set19
- GHC.Core.Type350Main functions for manipulating types and type-related things
- GHC.Core.Unfold19
- GHC.Core.Unfold.Make17Unfolding creation
- GHC.Core.Unify27
- GHC.Core.UsageEnv14
- GHC.Core.Utils76Commonly useful utilities for manipulating the Core language
- GHC.CoreToIface37Functions for converting Core things to interface file things.
- GHC.CoreToStg2
- GHC.CoreToStg.Prep4
- GHC.Data.Bag40
- GHC.Data.Bitmap4
- GHC.Data.Bool2
- GHC.Data.BooleanFormula16Boolean formulas without quantifiers and without negation.
- GHC.Data.EnumSet8A tiny wrapper around IntSet for representing sets of Enum
- GHC.Data.FastMutInt5
- GHC.Data.FastString41There are two principal string types used internally by GHC: FastString A compact, hash-consed, representation of character strings. Gen…
- GHC.Data.FastString.Env27
- GHC.Data.FiniteMap5
- GHC.Data.FlatBag8
- GHC.Data.Graph.Base6Types for the general graph colorer.
- GHC.Data.Graph.Collapse7
- GHC.Data.Graph.Color1Graph Coloring.
- GHC.Data.Graph.Directed28
- GHC.Data.Graph.Inductive.Graph84Static and Dynamic Inductive Graphs Code is from Hackage fgl package version 5.7.0.3
- GHC.Data.Graph.Inductive.PatriciaTree2An efficient implementation of Data.Graph.Inductive.Graph.Graph
- GHC.Data.Graph.Ops24Basic operations on graphs.
- GHC.Data.Graph.Ppr2Pretty printing of graphs.
- GHC.Data.Graph.UnVar21
- GHC.Data.IOEnv21The IO Monad with an environment The environment is passed around as a Reader monad but
- GHC.Data.List.Infinite14
- GHC.Data.List.SetOps18Set-like operations on lists Avoid using them as much as possible
- GHC.Data.Maybe23
- GHC.Data.OrdList24Provide trees (of instructions), so that lists of instructions can be
- GHC.Data.Pair6
- GHC.Data.SmallArray12Small-array
- GHC.Data.Stream11Monadic streams
- GHC.Data.Strict3
- GHC.Data.StringBuffer22
- GHC.Data.TrieMap21
- GHC.Data.Unboxed7
- GHC.Data.UnionFind9
- GHC.Data.Word64Map0An efficient implementation of maps from integer keys to values
- GHC.Data.Word64Map.Lazy113Finite Word64 Maps (lazy interface) The Word64Map v type represents a finite map (sometimes called a dictionary)
- GHC.Data.Word64Map.Strict113Finite Word64 Maps (strict interface) The Word64Map v type represents a finite map (sometimes called a dictionary)
- GHC.Data.Word64Set55Finite Int Sets The Word64Set type represents a set of elements of type Int. For a walkthrough of the most commonly used functions see their
- GHC.Driver.Backend49This module exports the Backend type and all the available values
- GHC.Driver.Backpack1This is the driver for the 'ghc --backpack' mode, which
- GHC.Driver.Backpack.Syntax14This is the syntax for bkp files which are parsed in 'ghc --backpack'
- GHC.Driver.CmdLine22Command-line parser This is an abstract command-line parser used by DynFlags. (c) The University of Glasgow 2005
- GHC.Driver.CodeOutput4
- GHC.Driver.Config3Subsystem configuration
- GHC.Driver.Config.Cmm1
- GHC.Driver.Config.Cmm.Parser1
- GHC.Driver.Config.CmmToAsm1
- GHC.Driver.Config.CmmToLlvm1
- GHC.Driver.Config.Core.Lint6
- GHC.Driver.Config.Core.Lint.Interactive1
- GHC.Driver.Config.Core.Opt.Arity1
- GHC.Driver.Config.Core.Opt.LiberateCase1
- GHC.Driver.Config.Core.Opt.Simplify4
- GHC.Driver.Config.Core.Opt.WorkWrap1
- GHC.Driver.Config.Core.Rules1
- GHC.Driver.Config.CoreToStg1
- GHC.Driver.Config.CoreToStg.Prep2
- GHC.Driver.Config.Diagnostic7Functions for initialising error message printing configuration from the
- GHC.Driver.Config.Finder2
- GHC.Driver.Config.HsToCore1
- GHC.Driver.Config.HsToCore.Ticks2
- GHC.Driver.Config.HsToCore.Usage1
- GHC.Driver.Config.Linker2
- GHC.Driver.Config.Logger1
- GHC.Driver.Config.Parser1
- GHC.Driver.Config.Stg.Debug1
- GHC.Driver.Config.Stg.Lift1
- GHC.Driver.Config.Stg.Pipeline1
- GHC.Driver.Config.Stg.Ppr1
- GHC.Driver.Config.StgToCmm1
- GHC.Driver.Config.StgToJS2
- GHC.Driver.Config.Tidy2
- GHC.Driver.DynFlags108
- GHC.Driver.Env36
- GHC.Driver.Env.KnotVars6This data structure holds an updateable environment which is used
- GHC.Driver.Env.Types2
- GHC.Driver.Errors3
- GHC.Driver.Errors.Ppr0
- GHC.Driver.Errors.Types13
- GHC.Driver.Flags24
- GHC.Driver.GenerateCgIPEStub2
- GHC.Driver.Hooks19
- GHC.Driver.LlvmConfigCache3LLVM config cache
- GHC.Driver.Main66Main API for compiling plain Haskell source code. This module implements compilation of a Haskell source. It is
- GHC.Driver.Make37
- GHC.Driver.MakeFile1
- GHC.Driver.MakeSem5Implementation of a jobserver using system semaphores.
- GHC.Driver.Monad25
- GHC.Driver.Phases27
- GHC.Driver.Pipeline34
- GHC.Driver.Pipeline.Execute31
- GHC.Driver.Pipeline.LogQueue10
- GHC.Driver.Pipeline.Monad4The TPipelineClass and MonadUse classes and associated types
- GHC.Driver.Pipeline.Phases2
- GHC.Driver.Plugins31Definitions for writing plugins for GHC. Plugins can hook into
- GHC.Driver.Plugins.External2External plugins GHC supports two kinds of "static" plugins:
- GHC.Driver.Ppr6Printing related functions that depend on session state (DynFlags)
- GHC.Driver.Session259Dynamic flags Most flags are dynamic flags, which means they can change from compilation
- GHC.Hs5
- GHC.Hs.Binds42
- GHC.Hs.Decls128Abstract syntax of global declarations. Definitions for: SynDecl and ConDecl, ClassDecl,
- GHC.Hs.Doc12Types and functions for raw and lexed docstrings.
- GHC.Hs.DocString18An exactprintable structure for docstrings
- GHC.Hs.Dump4Contains a debug function to dump parts of the GHC.Hs AST. It uses a syb
- GHC.Hs.Expr140Abstract Haskell syntax for expressions.
- GHC.Hs.Extension13
- GHC.Hs.ImpExp16
- GHC.Hs.Instances0
- GHC.Hs.Lit8Source-language literals
- GHC.Hs.Pat46
- GHC.Hs.Stats1Statistics for per-module compilations (c) The GRASP/AQUA Project, Glasgow University, 1993-1998
- GHC.Hs.Syn.Type6Compute the Type of an HsExpr GhcTc in a pure fashion. Note that this does not currently support the use case of annotating
- GHC.Hs.Type140
- GHC.Hs.Utils155Here we collect a variety of helper functions that construct or
- GHC.HsToCore2
- GHC.HsToCore.Arrows1
- GHC.HsToCore.Binds11
- GHC.HsToCore.Breakpoints1
- GHC.HsToCore.Coverage2
- GHC.HsToCore.Docs30Extract docs from the renamer output so they can be serialized.
- GHC.HsToCore.Errors.Ppr4
- GHC.HsToCore.Errors.Types11
- GHC.HsToCore.Expr6
- GHC.HsToCore.Foreign.C3Handling of C foreign imports/exports
- GHC.HsToCore.Foreign.Call5
- GHC.HsToCore.Foreign.Decl1Desugaring foreign declarations
- GHC.HsToCore.Foreign.JavaScript3Handling of JavaScript foreign imports/exports
- GHC.HsToCore.Foreign.Prim1Foreign primitive calls This is for `foreign import prim' declarations. Currently, at the core level we pretend that these primitive call…
- GHC.HsToCore.Foreign.Utils4
- GHC.HsToCore.Foreign.Wasm2
- GHC.HsToCore.GuardedRHSs3
- GHC.HsToCore.ListComp2
- GHC.HsToCore.Match6
- GHC.HsToCore.Match.Constructor2
- GHC.HsToCore.Match.Literal12
- GHC.HsToCore.Monad66
- GHC.HsToCore.Pmc11This module coverage checks pattern matches. It finds Uncovered patterns, certifying non-exhaustivity Redundant equations Equations wit…
- GHC.HsToCore.Pmc.Check6Coverage checking step of the
- GHC.HsToCore.Pmc.Desugar4Desugaring step of the
- GHC.HsToCore.Pmc.Ppr1Provides facilities for pretty-printing Nablas in a way appropriate for
- GHC.HsToCore.Pmc.Solver10Model refinements type as per the
- GHC.HsToCore.Pmc.Solver.Types37Domain types used in GHC.HsToCore.Pmc.Solver.
- GHC.HsToCore.Pmc.Types15Types used through-out pattern match checking. This module is mostly there
- GHC.HsToCore.Pmc.Utils11Utility module for the pattern-match coverage checker.
- GHC.HsToCore.Quote1
- GHC.HsToCore.Ticks6
- GHC.HsToCore.Types6Various types used during desugaring.
- GHC.HsToCore.Usage3
- GHC.HsToCore.Utils43Utility functions for constructing Core syntax, principally for desugaring
- GHC.Iface.Binary12Binary interface file support.
- GHC.Iface.Decl3Module for constructing interface declaration values
- GHC.Iface.Env21
- GHC.Iface.Errors4
- GHC.Iface.Errors.Ppr12
- GHC.Iface.Errors.Types9
- GHC.Iface.Ext.Ast4
- GHC.Iface.Ext.Binary9
- GHC.Iface.Ext.Debug10
- GHC.Iface.Ext.Fields8
- GHC.Iface.Ext.Types34
- GHC.Iface.Ext.Utils58
- GHC.Iface.Load25Loading interface files
- GHC.Iface.Make5Module for constructing ModIface values (interface files),
- GHC.Iface.Recomp10Module for detecting if recompilation is required
- GHC.Iface.Recomp.Binary3Computing fingerprints of values serializable with GHC's "Binary" module.
- GHC.Iface.Recomp.Flags3This module manages storing the various GHC option flags in a modules
- GHC.Iface.Rename4This module implements interface renaming, which is
- GHC.Iface.Syntax59
- GHC.Iface.Tidy4Tidying up Core This module's purpose is to prepare the Core program for two distinct purposes:
- GHC.Iface.Tidy.StaticPtrTable3Code generation for the Static Pointer Table (c) 2014 I/O Tweag Each module that uses static keyword declares an initialization function of
- GHC.Iface.Type82
- GHC.IfaceToCore20
- GHC.JS.Ident2Domain and Purpose GHC.JS.Ident defines identifiers for the JS backend. We keep this module
- GHC.JS.JStg.Monad5Domain and Purpose GHC.JS.JStg.Monad defines the computational environment for the eDSL that
- GHC.JS.JStg.Syntax31Domain and Purpose GHC.JS.JStg.Syntax defines the eDSL that the JS backend's runtime system
- GHC.JS.Make102Domain and Purpose GHC.JS.Make defines helper functions to ease the creation of JavaScript
- GHC.JS.Opt.Expr1This module contains a simple expression optimizer that performs constant
- GHC.JS.Opt.Simple1Simple optimizer for the JavaScript IR This is a simple optimizer for the JavaScript IR. It is intended to be
- GHC.JS.Optimizer1Domain and Purpose GHC.JS.Optimizer is a shallow embedding of a peephole optimizer. That is,
- GHC.JS.Ppr12Domain and Purpose GHC.JS.Ppr defines the code generation facilities for the JavaScript
- GHC.JS.Syntax33Domain and Purpose GHC.JS.Syntax defines the Syntax for the JS backend in GHC. It comports
- GHC.JS.Transform5
- GHC.Linker.Config2Linker configuration
- GHC.Linker.Deps3
- GHC.Linker.Dynamic2Dynamic linker
- GHC.Linker.External2External ("system") linker
- GHC.Linker.ExtraObj9
- GHC.Linker.Loader20The loader This module deals with the top-level issues of dynamic linking (loading),
- GHC.Linker.MacOS4
- GHC.Linker.Static2
- GHC.Linker.Static.Utils1
- GHC.Linker.Types26
- GHC.Linker.Unit4Linking Haskell units
- GHC.Linker.Windows1
- GHC.Llvm79This module supplies bindings to generate Llvm IR from Haskell
- GHC.Llvm.MetaData8
- GHC.Llvm.Ppr18Pretty print LLVM IR Code.
- GHC.Llvm.Syntax11The LLVM abstract syntax.
- GHC.Llvm.Types61The LLVM Type System.
- GHC.Parser14This module provides the generated Happy parser for Haskell. It exports
- GHC.Parser.Annotation108
- GHC.Parser.CharClass14
- GHC.Parser.Errors.Basic3
- GHC.Parser.Errors.Ppr8
- GHC.Parser.Errors.Types20
- GHC.Parser.HaddockLex2
- GHC.Parser.Header6Parsing the top of a Haskell source file to get its module name,
- GHC.Parser.Lexer48
- GHC.Parser.PostProcess103
- GHC.Parser.PostProcess.Haddock1This module implements addHaddockToModule, which inserts Haddock
- GHC.Parser.Types4
- GHC.Parser.Utils4
- GHC.Platform40Platform description
- GHC.Platform.AArch645
- GHC.Platform.ARM5
- GHC.Platform.Constants2
- GHC.Platform.LoongArch645
- GHC.Platform.NoRegs5
- GHC.Platform.PPC5
- GHC.Platform.Profile5Platform profiles
- GHC.Platform.RISCV645
- GHC.Platform.Reg17An architecture independent description of a register.
- GHC.Platform.Reg.Class1An architecture independent description of a register's class.
- GHC.Platform.Regs5
- GHC.Platform.S390X5
- GHC.Platform.Wasm325
- GHC.Platform.Ways27Ways The central concept of a "way" is that all objects in a given
- GHC.Platform.X866
- GHC.Platform.X86_646
- GHC.Plugins1104This module is not used by GHC itself. Rather, it exports all of
- GHC.Rename.Bind18
- GHC.Rename.Doc4
- GHC.Rename.Env52
- GHC.Rename.Expr5
- GHC.Rename.Fixity8
- GHC.Rename.HsType48
- GHC.Rename.Module5
- GHC.Rename.Names17
- GHC.Rename.Pat16
- GHC.Rename.Splice13
- GHC.Rename.Unbound20
- GHC.Rename.Utils52
- GHC.Runtime.Context13
- GHC.Runtime.Debugger3
- GHC.Runtime.Eval47
- GHC.Runtime.Eval.Types8
- GHC.Runtime.Heap.Inspect13
- GHC.Runtime.Heap.Layout58
- GHC.Runtime.Interpreter52Interacting with the iserv interpreter, whether it is running on an
- GHC.Runtime.Interpreter.JS8JavaScript interpreter See Note [The JS interpreter]
- GHC.Runtime.Interpreter.Process12
- GHC.Runtime.Interpreter.Types16Types used by the runtime interpreter
- GHC.Runtime.Loader10Dynamically lookup up values from modules and loading them.
- GHC.Runtime.Utils1
- GHC.Settings62Run-time settings
- GHC.Settings.Config12
- GHC.Settings.Constants13Compile-time settings
- GHC.Settings.IO2
- GHC.Stg.BcPrep1Prepare the STG for bytecode generation: Ensure that all breakpoints are directly under
- GHC.Stg.CSE1Note [CSE for Stg]
- GHC.Stg.Debug2
- GHC.Stg.FVs2Non-global free variable analysis on STG terms. This pass annotates
- GHC.Stg.InferTags1
- GHC.Stg.InferTags.Rewrite2
- GHC.Stg.InferTags.TagSig6
- GHC.Stg.InferTags.Types17
- GHC.Stg.Lift2Implements a selective lambda lifter, running late in the optimisation
- GHC.Stg.Lift.Analysis10Provides the heuristics for when it's beneficial to lambda lift bindings.
- GHC.Stg.Lift.Config1Configuration options for Lift the lambda lifter.
- GHC.Stg.Lift.Monad20Hides away distracting bookkeeping while lambda lifting into a LiftM
- GHC.Stg.Lift.Types7
- GHC.Stg.Lint1(c) The GRASP/AQUA Project, Glasgow University, 1993-1998 A lint pass to check basic STG invariants: Variables should be defined before u…
- GHC.Stg.Pipeline4
- GHC.Stg.Stats1
- GHC.Stg.Subst10
- GHC.Stg.Syntax72
- GHC.Stg.Unarise1
- GHC.Stg.Utils10
- GHC.StgToByteCode2GHC.StgToByteCode: Generate bytecode from STG
- GHC.StgToCmm1
- GHC.StgToCmm.ArgRep8
- GHC.StgToCmm.Bind5
- GHC.StgToCmm.CgUtils5
- GHC.StgToCmm.Closure56
- GHC.StgToCmm.Config2The stg to cmm code generator configuration
- GHC.StgToCmm.DataCon3
- GHC.StgToCmm.Env17
- GHC.StgToCmm.Expr2
- GHC.StgToCmm.ExtCode29Our extended FCode monad.
- GHC.StgToCmm.Foreign15
- GHC.StgToCmm.Heap16
- GHC.StgToCmm.Hpc2
- GHC.StgToCmm.InfoTableProv1
- GHC.StgToCmm.Layout22
- GHC.StgToCmm.Lit4
- GHC.StgToCmm.Monad73
- GHC.StgToCmm.Prim2
- GHC.StgToCmm.Prof21
- GHC.StgToCmm.Sequel2
- GHC.StgToCmm.TagCheck8
- GHC.StgToCmm.Ticky32
- GHC.StgToCmm.Types6
- GHC.StgToCmm.Utils59
- GHC.StgToJS1
- GHC.StgToJS.Apply2Module that deals with expression application in JavaScript. In some cases we
- GHC.StgToJS.Arg9Code generation of application arguments
- GHC.StgToJS.Closure16
- GHC.StgToJS.CodeGen1JavaScript code generator
- GHC.StgToJS.DataCon5Code generation of data constructors
- GHC.StgToJS.Deps1Module to calculate the transitive dependencies of a module
- GHC.StgToJS.Expr6Code generation of Expressions
- GHC.StgToJS.ExprCtx16
- GHC.StgToJS.FFI2
- GHC.StgToJS.Heap29
- GHC.StgToJS.Ids17Module to deal with JS identifiers
- GHC.StgToJS.Linker.Linker14GHCJS linker, collects dependencies from the object files
- GHC.StgToJS.Linker.Opt2Optimization pass at link time
- GHC.StgToJS.Linker.Types2
- GHC.StgToJS.Linker.Utils4Various utilies used in the JS Linker
- GHC.StgToJS.Literal2
- GHC.StgToJS.Monad15JS codegen state monad
- GHC.StgToJS.Object29Serialization/deserialization of binary .o files for the JavaScript backend
- GHC.StgToJS.Prim1
- GHC.StgToJS.Profiling18
- GHC.StgToJS.Regs20
- GHC.StgToJS.Rts.Rts2Top level driver of the JavaScript Backend RTS. This file is an
- GHC.StgToJS.Rts.Types6Types and utility functions used in the JS RTS.
- GHC.StgToJS.Sinker1
- GHC.StgToJS.Stack27Utilities and wrappers for Stack manipulation in JS Land. In general, functions suffixed with a tick do the actual work, functions
- GHC.StgToJS.StaticPtr1
- GHC.StgToJS.Symbols8JS symbol generation
- GHC.StgToJS.Types36Module that holds the Types required for the StgToJS pass
- GHC.StgToJS.Utils33
- GHC.SysTools6
- GHC.SysTools.Ar10
- GHC.SysTools.BaseDir5
- GHC.SysTools.Cpp5
- GHC.SysTools.Elf3
- GHC.SysTools.Process18
- GHC.SysTools.Tasks21
- GHC.SysTools.Terminal1
- GHC.Tc.Deriv2Handles deriving clauses on data declarations.
- GHC.Tc.Deriv.Functor7The deriving code for the Functor, Foldable, and Traversable classes
- GHC.Tc.Deriv.Generate26Generating derived instance declarations This module is nominally `subordinate' to GHC.Tc.Deriv, which is the
- GHC.Tc.Deriv.Generics6The deriving code for the Generic class
- GHC.Tc.Deriv.Infer2Functions for inferring (and simplifying) the context for derived instances.
- GHC.Tc.Deriv.Utils31Error-checking and other utilities for deriving clauses or declarations.
- GHC.Tc.Errors6
- GHC.Tc.Errors.Hole19
- GHC.Tc.Errors.Hole.FitTypes5
- GHC.Tc.Errors.Hole.Plugin4
- GHC.Tc.Errors.Ppr12
- GHC.Tc.Errors.Types168
- GHC.Tc.Errors.Types.PromotionErr5
- GHC.Tc.Gen.Annotation2Typechecking annotations
- GHC.Tc.Gen.App3
- GHC.Tc.Gen.Arrow1Typecheck arrow notation
- GHC.Tc.Gen.Bind6
- GHC.Tc.Gen.Default1Typechecking default declarations
- GHC.Tc.Gen.Do1Expand Do block statements into (>>=), (>>) and lets
- GHC.Tc.Gen.Export3
- GHC.Tc.Gen.Expr17
- GHC.Tc.Gen.Foreign18Typechecking foreign declarations A foreign declaration is used to either give an externally
- GHC.Tc.Gen.Head26
- GHC.Tc.Gen.HsType65Typechecking user-specified MonoTypes
- GHC.Tc.Gen.Match15Typecheck some Matches
- GHC.Tc.Gen.Pat9Typechecking patterns
- GHC.Tc.Gen.Rule1Typechecking rewrite rules
- GHC.Tc.Gen.Sig25
- GHC.Tc.Gen.Splice17Template Haskell splices
- GHC.Tc.Instance.Class8
- GHC.Tc.Instance.Family10The FamInst type: family instance heads
- GHC.Tc.Instance.FunDeps9Functional dependencies It's better to read it as: "if we know these, then we're going to know these"
- GHC.Tc.Instance.Typeable2
- GHC.Tc.Module31Typechecking a whole module https://gitlab.haskell.org/ghc/ghc/wikis/commentary/compiler/type-checker
- GHC.Tc.Plugin29This module provides an interface for typechecker plugins to
- GHC.Tc.Solver23
- GHC.Tc.Solver.Dict8Solving Class constraints CDictCan
- GHC.Tc.Solver.Equality1
- GHC.Tc.Solver.InertSet51
- GHC.Tc.Solver.Irred1
- GHC.Tc.Solver.Monad149Monadic definitions for the constraint solver
- GHC.Tc.Solver.Rewrite4
- GHC.Tc.Solver.Solve2
- GHC.Tc.Solver.Types24Utility types used within the constraint solver
- GHC.Tc.TyCl14Typecheck type and class declarations
- GHC.Tc.TyCl.Build8
- GHC.Tc.TyCl.Class12Typechecking class declarations
- GHC.Tc.TyCl.Instance3Typechecking instance declarations
- GHC.Tc.TyCl.PatSyn3Typechecking pattern synonym declarations
- GHC.Tc.TyCl.Utils9Analysis functions over data types. Specifically, detecting recursive types. This stuff is only used for source-code decls; it's recorded…
- GHC.Tc.Types98Various types used during typechecking. Please see GHC.Tc.Utils.Monad as well for operations on these types. You probably
- GHC.Tc.Types.BasicTypes23
- GHC.Tc.Types.Constraint200This module defines types and simple operations over constraints, as used
- GHC.Tc.Types.CtLocEnv7
- GHC.Tc.Types.ErrCtxt1
- GHC.Tc.Types.EvTerm2
- GHC.Tc.Types.Evidence74
- GHC.Tc.Types.LclEnv25
- GHC.Tc.Types.Origin50Describes the provenance of types as they flow through the type-checker.
- GHC.Tc.Types.Rank1
- GHC.Tc.Types.TH11
- GHC.Tc.Types.TcRef6
- GHC.Tc.Utils.Backpack9
- GHC.Tc.Utils.Concrete4Checking for representation-polymorphism using the Concrete mechanism. This module contains the logic for enforcing the representation-po…
- GHC.Tc.Utils.Env79
- GHC.Tc.Utils.Instantiate38
- GHC.Tc.Utils.Monad219Functions for working with the typechecker environment (setters,
- GHC.Tc.Utils.TcMType119Monadic type operations This module contains monadic operations over types that contain mutable type
- GHC.Tc.Utils.TcType322Types used in the typechecker This module provides the Type interface for front-end parts of the
- GHC.Tc.Utils.Unify53Type subsumption and unification
- GHC.Tc.Validity18
- GHC.Tc.Zonk.Env16The ZonkEnv zonking environment, and the ZonkT and ZonkBndrT
- GHC.Tc.Zonk.Monad6The ZonkM monad, a stripped down TcM, used when zonking within
- GHC.Tc.Zonk.TcType37Zonking types within the typechecker. Distinct from the final zonking pass in GHC.Tc.Zonk.Type;
- GHC.Tc.Zonk.Type27Final zonking to Type. See Note [Zonking to Type]. Distinct from the intra-typechecker zonking in GHC.Tc.Zonk.TcType;
- GHC.ThToHs5
- GHC.Types.Annotations12Support for source code annotation feature of GHC. That is the ANN pragma. (c) The University of Glasgow 2006
- GHC.Types.Avail14
- GHC.Types.Basic167
- GHC.Types.Breakpoint3Breakpoint related types
- GHC.Types.CompleteMatch4COMPLETE signature
- GHC.Types.CostCentre33
- GHC.Types.CostCentre.State5
- GHC.Types.Cpr23Types for the Constructed Product Result lattice.
- GHC.Types.Demand120A language to express the evaluation context of an expression as a
- GHC.Types.Error62
- GHC.Types.Error.Codes3Defines diagnostic codes for the diagnostics emitted by GHC. A diagnostic code is a numeric unique identifier for a diagnostic.
- GHC.Types.FieldLabel6
- GHC.Types.Fixity9Fixity
- GHC.Types.Fixity.Env6
- GHC.Types.ForeignCall18
- GHC.Types.ForeignStubs6Foreign export stubs
- GHC.Types.GREInfo7Renamer-level information about Names. Renamer equivalent of TyThing.
- GHC.Types.Hint19
- GHC.Types.Hint.Ppr1
- GHC.Types.HpcInfo4Haskell Program Coverage (HPC) support
- GHC.Types.IPE5
- GHC.Types.Id148
- GHC.Types.Id.Info82
- GHC.Types.Id.Make36
- GHC.Types.Literal83Core literals
- GHC.Types.Meta8Metaprogramming types
- GHC.Types.Name63
- GHC.Types.Name.Cache9The Name Cache
- GHC.Types.Name.Env48
- GHC.Types.Name.Occurrence144
- GHC.Types.Name.Ppr4
- GHC.Types.Name.Reader123
- GHC.Types.Name.Set45
- GHC.Types.Name.Shape7
- GHC.Types.PkgQual2
- GHC.Types.ProfAuto1
- GHC.Types.RepType26
- GHC.Types.SafeHaskell6This stuff here is related to supporting the Safe Haskell extension,
- GHC.Types.SaneDouble1Double datatype with saner instances
- GHC.Types.SourceError6Source errors
- GHC.Types.SourceFile9
- GHC.Types.SourceText15Source text Keeping Source Text for source to source conversions
- GHC.Types.SrcLoc98This module contains types that relate to the positions of things
- GHC.Types.Target5
- GHC.Types.Tickish18
- GHC.Types.TyThing22A global typecheckable-thing, essentially anything that has a name.
- GHC.Types.TyThing.Ppr6
- GHC.Types.TypeEnv17
- GHC.Types.Unique22
- GHC.Types.Unique.DFM48
- GHC.Types.Unique.DSet25Specialised deterministic sets, for things with Uniques Based on UniqDFMs (as you would expect).
- GHC.Types.Unique.FM77
- GHC.Types.Unique.Map40
- GHC.Types.Unique.MemoFun1
- GHC.Types.Unique.SDFM6Like a UniqDFM, but maintains equivalence classes of keys sharing the
- GHC.Types.Unique.Set36
- GHC.Types.Unique.Supply13
- GHC.Types.Var133
- GHC.Types.Var.Env115
- GHC.Types.Var.Set73
- GHC.Unit0Units are library components from Cabal packages compiled and installed in
- GHC.Unit.Env54
- GHC.Unit.External14
- GHC.Unit.Finder23Module finder
- GHC.Unit.Finder.Types5
- GHC.Unit.Home25The home unit is the unit (i.e. compiled package) that contains the module
- GHC.Unit.Home.ModInfo25Info about modules in the "home" unit
- GHC.Unit.Info21Info about installed units (compiled libraries)
- GHC.Unit.Module12
- GHC.Unit.Module.Deps16Dependencies and Usage of a module
- GHC.Unit.Module.Env49Module environment
- GHC.Unit.Module.Graph31
- GHC.Unit.Module.Imported4
- GHC.Unit.Module.Location7Module location
- GHC.Unit.Module.ModDetails2
- GHC.Unit.Module.ModGuts3
- GHC.Unit.Module.ModIface20
- GHC.Unit.Module.ModSummary17A ModSummary is a node in the compilation manager's dependency graph
- GHC.Unit.Module.Status2
- GHC.Unit.Module.Warnings28Warnings for a module
- GHC.Unit.Module.WholeCoreBindings1
- GHC.Unit.Parser4Parsers for unit/module identifiers
- GHC.Unit.Ppr1Unit identifier pretty-printing
- GHC.Unit.State53Unit manipulation
- GHC.Unit.Types64Unit & Module types This module is used to resolve the loops between Unit and Module types
- GHC.Utils.Asm1Various utilities used in generating assembler. These are used not only by the native code generator, but also by the
- GHC.Utils.Binary53
- GHC.Utils.Binary.Typeable1Orphan Binary instances for Data.Typeable stuff
- GHC.Utils.BufHandle9
- GHC.Utils.CliOption2
- GHC.Utils.Constants4
- GHC.Utils.Error61
- GHC.Utils.Exception60
- GHC.Utils.FV14Utilities for efficiently and deterministically computing free variables.
- GHC.Utils.Fingerprint9
- GHC.Utils.GlobalVars11Do not use global variables! Global variables are a hack. Do not use them if you can help it.
- GHC.Utils.IO.Unsafe1
- GHC.Utils.Json4
- GHC.Utils.Lexeme19
- GHC.Utils.Logger47Logger The Logger is an configurable entity that is used by the compiler to output
- GHC.Utils.Misc114Highly random utility functions
- GHC.Utils.Monad27Utilities related to Monad and Applicative classes
- GHC.Utils.Monad.Codensity3
- GHC.Utils.Monad.State.Strict10A state monad which is strict in its state.
- GHC.Utils.Outputable195This module defines classes and functions for pretty-printing. It also
- GHC.Utils.Panic24Defines basic functions for printing error messages. It's hard to put these functions anywhere else without causing
- GHC.Utils.Panic.Plain11Defines a simple exception type and utilities to throw it. The
- GHC.Utils.Ppr63John Hughes's and Simon Peyton Jones's Pretty Printer Combinators Based on The Design of a Pretty-printing Library
- GHC.Utils.Ppr.Colour16
- GHC.Utils.TmpFs19Temporary file-system management
- GHC.Utils.Touch1
- GHC.Utils.Trace11Tracing utilities
- GHC.Utils.Unique2
- GHC.Utils.Word643
- GHC.Wasm.ControlFlow9
- GHC.Wasm.ControlFlow.FromCmm1
- Language.Haskell.Syntax2
- Language.Haskell.Syntax.Basic8
- Language.Haskell.Syntax.Binds37
- Language.Haskell.Syntax.Decls98Abstract syntax of global declarations. Definitions for: SynDecl and ConDecl, ClassDecl,
- Language.Haskell.Syntax.Expr59Abstract Haskell syntax for expressions.
- Language.Haskell.Syntax.Extension341
- Language.Haskell.Syntax.ImpExp11
- Language.Haskell.Syntax.Lit4Source-language literals
- Language.Haskell.Syntax.Module.Name9
- Language.Haskell.Syntax.Pat21
- Language.Haskell.Syntax.Type62
Internal modules · 9
- GHC.Core.TyCo.Rep66
- GHC.Data.Word64Map.Internal161WARNING This module is considered internal. The Package Versioning Policy does not apply. The contents of this module may change in any w…
- GHC.Data.Word64Map.Strict.Internal113Finite Int Maps (strict interface) The Word64Map v type represents a finite map (sometimes called a dictionary)
- GHC.Data.Word64Set.Internal63WARNING This module is considered internal. The Package Versioning Policy does not apply. The contents of this module may change in any w…
- GHC.Driver.Backend.Internal1In versions of GHC up through 9.2, a Backend was represented only by
- GHC.Prelude10Custom GHC Prelude This module serves as a replacement for the Prelude module
- GHC.Prelude.Basic148Custom minimal GHC Prelude This module serves as a replacement for the Prelude module
- GHC.Utils.Containers.Internal.BitUtil4
- GHC.Utils.Containers.Internal.StrictPair2A strict pair
Description
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.
This package is not PVP-compliant.
This package directly exposes GHC internals, which can and do change with every release.
Depends on
20 packages- array-0.5.8.0with GHC
- base-4.20.2.0with GHC
- binary-0.8.9.3with GHC
- bytestring-0.12.2.0with GHC
- containers-0.7with GHC
- deepseq-1.5.0.0with GHC
- directory-1.3.8.5with GHC
- exceptions-0.10.9with GHC
- filepath-1.5.4.0with GHC
- ghc-boot-9.10.3with GHC
- ghc-heap-9.10.3with GHC
- ghci-9.10.3with GHC
- hpc-0.7.0.2with GHC
- process-1.6.26.1with GHC
- semaphore-compat-1.0.0with GHC
- stm-2.5.3.1with GHC
- template-haskell-2.22.0.0with GHC
- time-1.12.2with GHC
- transformers-0.6.1.1with GHC
- unix-2.8.7.0with GHC