Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
GHC
GHC
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,334
    • Issues 4,334
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 371
    • Merge Requests 371
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Glasgow Haskell Compiler
  • GHCGHC
  • Wiki
  • index

Last edited by Ben Gamari Jan 06, 2021
Page history New page
This is an old version of this page. You can view the most recent version or browse the history.

index

  • GHC Wiki
    • Trac-Ticket-Import
    • about-videos
    • active-branches
    • adding-libs-to-build
    • adding-new-primitive-operations
    • admin
      • lun
    • agenda-proposal
    • amazon-ec2
    • annotations
    • anonymous-ffi-imports
    • api-annotations
    • api-name-map
    • applicative-comprehensions
    • applicative-do
    • argument-do
    • arm-linux-ghc
    • arm64
    • arrow-notation
    • atomic-primops
    • attic
      • 6.6-branch
      • beginners-notes
      • building
        • build-system
          • new
        • old
          • using
      • x86-osx-ghc
    • autocomplete-ghc-flags
    • back-end-notes
    • backpack
      • prerelease
    • bad-content
    • bad-ip
    • bad-unsafe-coercions
    • base-split
    • ben-gamari
      • proposal-milestone-example
    • bisection
    • block-objects
      • extending-ghc
      • faking-it
      • specification
      • using-xpc
    • browser-tips
    • bug-sweep
    • build-bot
    • builder
    • builder-summary
    • building
      • adding-libs
      • aix
      • architecture
        • idiom
          • cabal
          • directories
          • distdir
          • double-colon
          • macros
          • non-recursive-make
          • phase-ordering
          • platform-names
          • stages
          • standard-targets
          • stub-makefiles
          • vanilla-way
          • variable-names
          • whitespace
      • arm-linux-gnu-eabi
      • compiling32on64
      • cross-compiling
        • iOS
      • cross-compiling-on-debian
      • darcs-all
      • debugging-ghc
      • docs
      • faq
      • files
      • getting-the-sources
        • legacy
      • hacking
      • hadrian
        • quick-start
      • hoogle
      • ia64-linux
      • in-ghci
      • installing
      • known-problems
      • mac-osx
        • installer
      • modifying
      • platforms
        • windows
      • platforms-scripts-file-names
      • porting
      • preparation
        • free-bsd
        • illumos
        • linux
        • mac-osx
        • open-bsd
        • open-indiana
        • raspberry-pi
        • solaris
        • tools
        • windows
          • msys1
          • msys2
      • prerequisites
      • problems
      • quick-start
      • rebuilding
      • running-no-fib
      • running-tests
        • adding
        • details
        • performance-tests
        • running
        • settings
        • updating
      • shake
      • solaris
      • standard-targets
      • sync-all
      • targets
      • troubleshooting
      • unregisterised
      • using
      • windows
        • cygwin
        • ssh
        • sshd
    • burning-bridges-slowly
    • c-structures
    • CAFs
    • cabal-dependency
    • call-arity
    • camel-case
    • capabilities-and-scheduling
    • case-binder-generalisation
    • category-stub
    • closed-type-families
    • code-base-cleanup
      • module-renaming
    • code-owners
    • collection-class-framework
    • collection-libraries
    • commentary
      • abbreviations
      • backtraces
      • cabal-dependency-hell
      • cmm-exceptions
      • cmm-kinds
      • coding-style
      • command-line-args
      • compiler
        • api
        • back-end-types
        • backend-opt
        • backends
          • GHCi
          • llvm
            • alias
            • design
            • development-notes
            • ghc-llvm-porting
            • installing
            • issues
            • mangler
            • replacing-ncg
            • wip
          • ncg
            • register-allocator
              • code
          • ppr-c
        • case-studies
          • bool
        • case-study
          • bool
        • cmm-type
        • code-gen
          • overview
        • code-layout
        • coercions
        • command-line-args
        • core-syn-type
        • core-to-core-pipeline
        • cps
        • data-types
        • demand
          • let-up
          • relevant-parts
        • derive-functor
        • deriving-strategies
        • desugaring-instances
        • driver
        • entity-types
        • external-interpreter
        • fc
        • ffi-exports
        • generated-code
        • generic-deriving
        • hoopl
          • examples
        • hoopl-performance
        • hs-syn-type
        • hsc-main
        • hsc-pipe
        • iface-files
        • integrated-code-gen
        • key-data-types
        • kinds
        • loopification
        • module-types
        • name-type
        • new-code-gen
          • cleanup
        • new-code-gen-modules
        • new-code-gen-pipeline
        • new-code-gen-stupidity
        • old-code-gen
        • opt-ordering
        • packages
        • parser
        • rdr-name-type
        • recompilation-avoidance
        • relaxed-unused-imports
        • renamer
        • seq-magic
        • stack-areas
        • stg-syn-type
        • strictness-analysis
          • examples
          • kirsten-notes
        • symbol-names
        • tc-rn-monad
        • tying-the-knot
        • type-checker
        • type-nat-solver
        • type-type
        • unique
        • unpack-primitive-fields
        • unused-imports
        • warnings
        • wired-in
      • contracts
      • evil-mangler
      • gsoc-cabal-nix
      • gsoc-multiple-instances
      • getting-started
      • GHCi
      • heap-alloced
      • hpc
      • libraries
        • eager-version-bump
        • integer
        • version-history
      • migrating-old-commentary
      • module-structure
      • organisation
      • packages
        • concepts
        • ghc-packages-proposal
        • multi-instances
        • package-compatibility-proposal
        • package-imports-proposal
        • package-mounting-proposal
        • package-namespaces-proposal
        • package-reorg
          • rationale
      • pipeline
      • platform-naming
      • position-independent-code
      • prim-ops
      • profiling
        • ticky-notes
      • resource-limits
      • rts
        • async-exceptions
        • CAFs
        • cmm
        • compiler-ways
        • config
        • conventions
        • ffi
        • haskell-execution
          • calling-convention
          • function-calls
          • heap-checks
          • pointer-tagging
          • registers
          • updates
        • heap-objects
        • interpreter
        • io-manager
        • sanity
        • scheduler
        • signals
        • stack
        • stm
        • storage
          • block-alloc
          • CAFs
          • gc
            • aging
            • CAFs
            • copying
            • eager-promotion
            • immix
            • pinned
            • pinneed
            • remembered-sets
            • roots
            • weak
          • heap-alloced
          • heap-objects
          • slop
          • stack
        • weak
        • word
      • source-tree
        • includes
        • rts
      • user-manual
    • compiler-performance
    • complete-pattern-pragma-troubles
    • constraint-solver
    • continuous-integration
      • usage
    • continuous-integration-configuration
    • contributing
    • contributors
    • cross-compilation
    • cross-compilation-design
    • curt-sampson
    • custom-type-erros
    • d-trace
    • darcs-conversion
      • building
        • getting-the-sources
    • darcs-evaluation
    • darcs-repositories
    • darcs-to-git
    • data-parallel
      • benchmark-status
      • benchmarks
      • closure-conversion
        • class-less
        • impl-notes
        • indexed
      • code-vectorisation
        • lifted-case-example
      • dec2010-release
      • design
      • desugaring
      • example
      • library
      • live-fusion
      • optimisation
      • regular
      • related
      • replicate
      • repositories
      • smp
        • ndp-contexts
      • vect-pragma
      • vectorisation
        • code-vectorisation
        • type-vectorisation
      • work-plan
    • debugging
      • compiled-code
      • compiler
      • installing-packages-inplace
      • low-level-profiling
        • mutrace
        • oprofile
        • papi
          • installing
        • perf
        • q-prof
      • profiling-ghc
      • runtime-system
      • ticky-ticky
    • debugging-ghc-crashes
    • default-superclass-instances
    • defer-errors-to-runtime
    • demand
      • io-vs-st
    • demand-analysis
      • split-off-usage
    • dependency-tracking
    • dependent-haskell
      • internal
      • phase1
      • phase2
    • deriving-instances
    • design
      • build-system
      • deprecation-mechanisms
        • type-class-methods
      • exp-pat-frame
      • GHCi
        • type
      • integer-gmp2
      • local-warning-pragmas
      • method-deprecations
      • monad-fail
      • new-coercible-solver
        • v2
      • redundant-constraints
      • redundant-superclass-warning-plan
      • template-haskell-gadts
      • type-naming
      • type-refactor
      • version-control-system
      • warnings
        • redundant-constraints
        • wcompat
    • desugared-dictionaries
    • deterministic-builds
    • dev-ops-group-charter
    • distributed-closures
    • distributed-haskell
    • dwarf
      • 80-status
      • status
    • dynamic-by-default
      • windows
    • dynamic-ghc-programs
    • dynamic-linking
    • dynamic-linking-debate
    • emacs
    • erlang-in-haskell
    • event-log
      • live-monitoring
    • exceptions
      • precise-exceptions
      • stack-traces
    • explicit-call-stack
      • core-pass-implementation
      • finding-the-needle
      • implicit-locations
      • stack-trace-experience
    • explicit-type-application
    • export-lists
    • exposing-newtype-coercions
    • extended-layouts
    • extended-plugins-proposal
    • extensible-records
    • external-core
    • faq
    • firefox-tips
    • fixing-exceptions
    • flexible-literate-extension
    • float-inwards
    • float-more-eqs2018
    • float-out
    • foldr-build-notes
    • free-bsd-ghc
    • friday-ideas
    • frisby2013-q1
    • frontend-plugins-proposal
    • fun-deps
    • garbage-collector-notes
    • gc-data-structures
    • generalized-monad-comprehensions
    • generics-propositional-equality
    • getting-started
    • ghc
      • hooks
    • ghc-6.10.1
    • ghc-6.10.2
    • ghc-6.12.1
    • ghc-7.8-faq
    • ghc-api
    • ghc-api-ast-traversals
    • ghc-api-status
    • ghc-ast-annotations
    • ghc-concurrency
    • ghc-coverage
    • ghc-darcs
    • ghc-debuggers
    • ghc-kinds
      • kind-inference
        • associated-types
        • examples
      • kind-polymorphism
      • kinds-without-data
      • poly-typeable
    • ghc-package-namespaces
    • ghc-packages-with-grafting
    • ghc-papers
    • ghc-planning
    • ghci-debugger
      • breakpoint-jump
    • git-for-darcs-users
    • github-ghc
    • git-lab-migration
    • git-repo-reorganization
    • git-submodule-problem
    • gitolite-plan
    • gmp-memory-management
    • gph-eden
      • compiler-ways
      • hack-day-mar13
      • meetings
      • packing
      • packing-and-pointer-tagging
      • placeholders-and-gc
      • primitives
      • start-stop
    • hack-par
    • hack-sprint
    • hackage-testing
    • hackathon
      • hack
    • hackathon-projects
    • haddock-comments
    • haddock-notes
    • haskell-report
      • libraries
    • haskell-syntax-printers
    • hidden-dangers-of-touch
    • hie-files
    • holes
    • home
    • hoopl
      • cleanup
    • hs-boot
    • implementing-trees-that-grow
      • handling-source-locations
      • hs-syn
      • ide-support
      • instances
      • trees-that-grow-guidance
    • impredicative-polymorphism
      • impredicative-2015
    • improved-arithmetic-primops
    • improved-llvm-backend
    • infer-datatype-contexts
    • infrastructure
    • injective-type-families
    • inlining
    • instance-templates
    • instances
    • inter-map-txt
    • inter-trac
    • inter-wiki
    • interleaving-type-instance-checking
    • intermediate-types
    • internships
      • jan-stolarek
    • intrinsic-superclasses
    • io-manager
    • irc-meetings
    • job-advert
    • kind-fact
    • kind-system
    • kirsten-sandbox
      • ghc-old-mac
    • lambdas-vs-pattern-matching
    • language-pragma-history
    • language-strict
    • late-dmd
    • late-lam-lift
    • levity-polymorphism
    • library
    • licensing
    • lightweight-ccs-call-stack
    • lightweight-concurrency
    • linear-types
      • examples
      • implementation
    • linking-haskell
    • literate-markdown
    • llvm-backend
    • mac-osx-build-machine
    • magical-reflection-support
    • mailing-lists-and-irc
    • making-releases
    • memcpy-optimizations
    • migration
      • 7.10
      • 7.8
      • 8.0
      • 8.10
      • 8.2
      • 8.4
      • 8.6
      • 8.8
    • module-dependencies
      • hierarchical
    • module-reexports
    • monad-comprehensions
    • monoidal-categories
    • more-cse
    • more-depth
    • more-info
    • motivation-for-parallelization
    • multiple-linker-instances
    • native-metaprogramming
    • nested-closures
    • nested-cpr
      • advanced-converges
      • akio2017
      • better-ho-cardinality
      • dmd-anal-ideas
      • split-off-cpr
      • wave4main
    • new-axioms
      • closed-type-families
      • coincident-overlap
      • discussion-page
      • nonlinearity
      • template-haskell
      • type-spaces
    • new-ghci-debugger
    • new-impredicativity
    • new-plugins
    • new-primops-in-gh-c7.8
    • newcomers
    • newtype-optimization-for-gadts
    • newtype-wrappers
    • no-sub-kinds
    • nofib
    • non-unary-core
    • objective-c
      • classes
      • foreign-declarations
      • memory-management
      • messaging
      • naming
      • type-safe-messaging
    • old-inlining
    • one-shot
    • open-sparc
    • optimize-counting-gadts
    • organisation
    • osx-frameworks
    • overloaded-lists
    • overloaded-record-fields
    • package-compatibility
    • package-imports
    • package-language
    • package-mounting
    • package-reorg
      • rationale
    • packages
    • page-templates
    • papi
    • parallel
      • spark-profiles
    • partial-type-signatures
    • pattern-families
    • pattern-match-check
    • pattern-match-check-implementation
    • pattern-synonyms
      • associating-synonyms
      • complete-sigs
      • implementation
      • record-pattern-synonyms
    • pedros-tickets
    • performance
      • compiler
        • ben-notes
      • old
      • runtime
      • tests
    • performance-warnings
    • phabricator
      • extras
      • harbormaster
      • maniphest
    • platforms
      • linux
      • windows
    • plugins
      • annotations
      • more-plugins
      • phases
      • reinitialize-globals
      • type-checker
        • row-types
          • coxswain
            • notes
    • polymorphic-dynamic
    • polymorphic-kinds
    • porting -gh-c to -barrelfish
    • ppr-runtime-trace
    • prelude710
      • ftp
      • list
    • prelude710-list
    • pretty-errors
    • prim-bool
    • problems-compiling-ghc
    • project-suggestions
    • proposal
      • abstract-file-path
      • custom-type-errors
      • error-messages
      • helpful-import-error
      • left-assoc-semigroup-op
      • monad-of-no-return
        • discussion
      • native-cpp
      • open-import-extension
      • self-explinatory-inline-pragmas
      • semigroup-monoid
      • specialization-info
    • proposals
      • dependency-tracking-output
    • quantified-constraints
    • quantified-contexts
    • reading-list
    • recent-changes
    • records
      • declared-overloaded-record-fields
        • c-ompare-sorf
        • dot-postfix
        • implementors-view
        • no-mono-record-fields
        • option-four-type-punning
        • poly-record-pattern
      • dot-operator
      • explicit-classy-records
      • name-spacing
      • nested-modules
      • overloaded-record-fields
        • design
        • duplicate-record-fields
        • implementation
        • magic-classes
        • overloaded-labels
        • plan
        • redesign
        • simple
        • sorf
      • syntax-directed-name-resolution
      • type-indexed-records
      • type-punning-declared-overloaded-record-fields
      • volkov
    • recursive-do
    • remote-GHCi
    • replacing-gmp-notes
      • haskell-library
      • performance-measurements
      • required-integer-functions
      • the-current-gmp-implementation
    • report-a-bug
    • repositories
      • upstream
    • restricted
    • rewrite-rules
      • worker-wrapper
    • richard-and-simon
    • roles
    • roles-implementation
    • roles2
    • rule-contexts
    • run-time-data
    • safe-haskell
      • base-package
      • new-overlapping-instances
      • safe-compilation
    • safe-roles
      • pre78-gnd
      • roles-overview
    • sand-box
    • semi-tagging
    • sequent-core
    • serialisation
    • shared-libraries
      • management
      • platform-support
    • shorter-import-syntax
    • signature-sections
    • simd
      • design
      • implementation
        • llvm
        • old
        • plan
        • status
      • llvm-example
    • simd-llvm
    • simd-plan
    • simd-vector-example-in-llvm
    • simplifier
    • single-threaded-collection
    • sony-ps3
    • source-notes
    • spec-constr
    • specialise
    • split-base
    • sql-like-comprehensions
    • stable-pointer-rewrite
    • static-argument-transformation
    • static-data
    • static-pointers
      • implementation-plan
      • need-for-polymorphism
      • old
      • typesafe-decoding
    • static-values
    • status
      • 7.10
      • apr10
      • apr17
      • apr18
      • april07
      • base-library
      • encoding-tickets
      • ghc-6.10
      • ghc-6.12
      • ghc-7.10
        • libraries
      • ghc-7.10.1
      • ghc-7.10.2
      • ghc-7.10.3
      • ghc-7.12.1
      • ghc-7.8
        • libraries
        • r-c1
        • r-c2
      • ghc-7.8.3
      • ghc-7.8.4
      • ghc-8.0.1
        • libraries
      • ghc-8.0.2
      • ghc-8.2.1
        • libraries
      • ghc-8.2.2
      • ghc-8.4.1
        • libraries
      • ghc-8.4.2
      • ghc-8.4.3
      • ghc-8.4.4
      • ghc-8.6.1
      • ghc-8.6.2
      • ghc-8.6.3
      • ghc-8.6.4
      • ghc-8.8.1
      • may08
      • may09
      • may11
      • may12
      • may13
      • may14
      • may15
      • may16
      • nov07
      • oct09
      • oct10
      • oct11
      • oct12
      • oct13
      • oct14
      • oct15
      • oct16
      • oct17
      • oct18
      • october06
      • october08
      • rae-tickets
      • slpj-tickets
      • ticket-stats
      • tickets
      • type-error-messages
    • steering-committee
    • stg-object-types
    • strict-pragma
    • supercompilation
    • supported-distributions
    • surviving-windows
    • syntax-free-type-directed-name-resolution
    • tf-vs-fd
    • team-ghc
    • template-haskell
      • annotations
      • blog-post-changes
      • conversions
      • cross-compilation
      • introspective
      • package-key-changes
      • reify
      • restricted
      • rich-kinds
      • status
      • typed
      • using-haskell-src-exts
    • template-haskell-rich-kinds
    • testing-patches
    • ticket-query
    • title-index
    • todo-after-releases
    • travis
    • type-application
    • type-checker
    • type-family-patterns
    • type-functions
      • ambiguity
      • class-families
      • integrated-solver
      • total-families
    • type-functions-core
    • type-functions-examples
    • type-functions-iface
    • type-functions-renaming
    • type-functions-solving
    • type-functions-status
    • type-functions-syn-tc
      • challenge
      • comparison
      • ghc
      • ghc-chr
      • ghc-chr-examples
      • naive
      • plan-ms
      • plan-ms-revised
      • plan-ms-revised2
      • second
    • type-functions-syntax
    • type-functions-type-checking
    • type-level-naming-issues
    • type-level-reasoning
    • type-nats
      • alternative-singletons
      • avoiding-partial-type-functions
      • axioms
      • basic-examples
      • basics
      • examples
      • implementation
      • implicit-explicit
      • inductive-definitions
      • interact1
      • interact2
      • leq
      • matching-on-nats
      • naturals
      • operations
      • rule-notation
      • rules
      • singletons-and-existentials
      • singletons-and-kinds
    • type-ntas
      • alternative-singletins
    • typeable
      • ben-gamari
      • with-typeable
    • typeable-t
    • typechecking
    • unlifted-data-types
    • unpacked-sum-types
    • unpacking-arrays
    • unresolved-infix-expressions
    • users-guide
      • move-from-doc-book
    • using-ghc-as-library
    • validate-mono-literals
    • vector-computing
    • view-patterns
    • view-patterns-alternative
    • view-patterns-archive
    • view-patterns-new
    • visualisation-progress
    • welcome
    • why-not-github
    • why-not-phabricator
    • windows-dynamic-linking
    • windows-ghc
    • windows-task-force
    • working-conventions
      • adding-features
      • bisection
      • boot-libraries
      • bug-tracker
      • darcs
      • documentation-changes
      • fixing-bugs
      • git
        • attic-branch
        • submodules
        • tricks
      • git-lab-spj
      • git-spj
      • patch-checklist
      • releases
        • new-schedule
      • repositories
      • submissions
      • useful-tools
    • zuri-hac2014
Clone repository
  • All things layout
  • AndreasK
  • AndreasPK
  • Building GHC on Windows with Stack protector support (SSP) (using Make)
  • CAFs
  • CafInfo rework
  • Compiling Data.Aeson Error
  • Contributing a Patch
  • Core interface section
  • Dead Code
  • Developing Hadrian
  • Documentation Style Guide
  • Doubleton Arrays
  • Errors as (structured) values
  • Extensible Interface Files
View All Pages