# Glasgow Haskell Compiler User's Guide

# Index

Symbols | _ | A | B | C | D | E | F | G | H | I | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y

## Symbols

- +RTS
- +t option
  - in GHCi
- --exclude-module=⟨file⟩
  - GHC option
- --force
  - ghc-pkg option
- --frontend ⟨module⟩
  - GHC option
- --global
  - ghc-pkg option
- --help
  - GHC option
  - ghc-pkg option
- --info
  - GHC option
  - RTS option
- --install-signal-handlers=⟨yes|no⟩
  - RTS option
- --interactive
  - GHC option
- --ipid
  - ghc-pkg option
- --machine-readable
  - RTS option
- --make
  - GHC option
  - mode of GHC
- --mk-dll
  - GHC option
- --numa
  - RTS option
- --numa=<mask>
  - RTS option
- --numeric-version
  - GHC option
- --package-key
  - ghc-pkg option
- --print-libdir
  - GHC option
- --RTS
- --show-iface ⟨file⟩
  - GHC option, [1]
- --show-options
  - GHC option
- --supported-extensions
  - GHC option
- --supported-languages
  - GHC option
- --user
  - ghc-pkg option
- --verbose
  - ghc-pkg option
- --version
  - GHC option
  - ghc-pkg option
- -?
  - GHC option
  - ghc-pkg option
  - hp2ps command line option
- -A ⟨size⟩
  - RTS option
- -AL ⟨size⟩
  - RTS option
- -A⟨size⟩
  - RTS option
- -B
  - RTS option
- -b
  - hp2ps command line option
- -C
  - GHC option
- -c
  - GHC option, [1]
  - RTS option
  - hp2ps command line option
- -c ⟨n⟩
  - RTS option
- -C ⟨s⟩
  - RTS option
- -clear-package-db
  - GHC option
- -cpp
  - GHC option
- -cpp vs string gaps
- -d
  - hp2ps command line option
- -D ⟨x⟩
  - RTS option
- -dcmm-lint
  - GHC option
- -dcore-lint
  - GHC option
- -ddump options
- -ddump-asm
  - GHC option
- -ddump-bcos
  - GHC option
- -ddump-cmm
  - GHC option
- -ddump-cmm-from-stg
  - GHC option
- -ddump-cmm-verbose
  - GHC option
- -ddump-core-stats
  - GHC option
- -ddump-cse
  - GHC option
- -ddump-deriv
  - GHC option
- -ddump-ds
  - GHC option
- -ddump-ec-trace
  - GHC option
- -ddump-foreign
  - GHC option
- -ddump-hi
  - GHC option
- -ddump-hi-diffs
  - GHC option
- -ddump-if-trace
  - GHC option
- -ddump-inlinings
  - GHC option
- -ddump-json
  - GHC option
- -ddump-llvm
  - GHC option
- -ddump-minimal-imports
  - GHC option
- -ddump-mod-cycles
  - GHC option
- -ddump-occur-anal
  - GHC option
- -ddump-opt-cmm
  - GHC option
- -ddump-parsed
  - GHC option
- -ddump-parsed-ast
  - GHC option
- -ddump-prep
  - GHC option
- -ddump-rn
  - GHC option
- -ddump-rn-ast
  - GHC option
- -ddump-rn-stats
  - GHC option
- -ddump-rn-trace
  - GHC option
- -ddump-rule-firings
  - GHC option
- -ddump-rule-rewrites
  - GHC option
- -ddump-rules
  - GHC option
- -ddump-simpl
  - GHC option
- -ddump-simpl-iterations
  - GHC option
- -ddump-simpl-stats
  - GHC option
- -ddump-spec
  - GHC option
- -ddump-splices
  - GHC option
- -ddump-stg
  - GHC option
- -ddump-str-signatures
  - GHC option
- -ddump-stranal
  - GHC option
- -ddump-tc
  - GHC option
- -ddump-tc-ast
  - GHC option
- -ddump-tc-trace
  - GHC option
- -ddump-to-file
  - GHC option
- -ddump-types
  - GHC option
- -ddump-vect
  - GHC option
- -ddump-vt-trace
  - GHC option
- -ddump-worker-wrapper
  - GHC option
- -debug
  - GHC option
- -dep-makefile ⟨file⟩
  - GHC option
- -dep-suffix ⟨suffix⟩
  - GHC option
- -dfaststring-stats
  - GHC option
- -dinitial-unique=⟨s⟩
  - GHC option
- -distrust ⟨pkg⟩
  - GHC option, [1]
- -distrust-all
  - GHC option
- -distrust-all-packages
  - GHC option
- -dno-debug-output
  - GHC option
- -dppr-case-as-let
  - GHC option
- -dppr-cols=⟨n⟩
  - GHC option
- -dppr-debug
  - GHC option
- -dppr-user-length
  - GHC option
- -dshow-passes
  - GHC option
- -dstg-lint
  - GHC option
- -dsuppress-all
  - GHC option
- -dsuppress-coercions
  - GHC option
- -dsuppress-idinfo
  - GHC option
- -dsuppress-module-prefixes
  - GHC option
- -dsuppress-ticks
  - GHC option
- -dsuppress-type-applications
  - GHC option
- -dsuppress-type-signatures
  - GHC option
- -dsuppress-unfoldings
  - GHC option
- -dsuppress-uniques
  - GHC option
- -dth-dec-file=⟨file⟩
  - GHC option
- -dumpdir ⟨dir⟩
  - GHC option
- -dunique-increment=⟨i⟩
  - GHC option
- -dverbose-core2core
  - GHC option
- -dverbose-stg2stg
  - GHC option
- -dylib-install-name ⟨path⟩
  - GHC option
- -dynamic
  - GHC option
- -dynamic-too
  - GHC option
- -dynload
  - GHC option
- -D⟨symbol⟩[=⟨value⟩]
  - GHC option
- -E
  - GHC option
- -e ⟨expr⟩
  - GHC option
- -eventlog
  - GHC option
- -e⟨float⟩[in|mm|pt]
  - hp2ps command line option
- -F
  - GHC option
- -f
  - ghc-pkg option
- -F ⟨factor⟩
  - RTS option
- -f[no-]diagnostics-show-caret
  - GHC option
- -f\* options (GHC)
- -fasm
  - GHC option
- -fbreak-on-error
  - GHC option
- -fbreak-on-exception
  - GHC option
- -fbyte-code
  - GHC option
- -fcall-arity
  - GHC option
- -fcase-folding
  - GHC option
- -fcase-merge
  - GHC option
- -fcmm-elim-common-blocks
  - GHC option
- -fcmm-sink
  - GHC option
- -fcpr-off
  - GHC option
- -fcross-module-specialise
  - GHC option
- -fcse
  - GHC option
- -fdefer-out-of-scope-variables
  - GHC option
- -fdefer-type-errors
  - GHC option
- -fdefer-typed-holes
  - GHC option
- -fdiagnostics-color=⟨always|auto|never⟩
  - GHC option
- -fdicts-cheap
  - GHC option
- -fdicts-strict
  - GHC option
- -fdmd-tx-dict-sel
  - GHC option
- -fdo-eta-reduction
  - GHC option
- -fdo-lambda-eta-expansion
  - GHC option
- -feager-blackholing
  - GHC option, [1]
- -fenable-rewrite-rules
  - GHC option
- -ferror-spans
  - GHC option
- -fexcess-precision
  - GHC option
- -fexpose-all-unfoldings
  - GHC option
- -fexternal-interpreter
  - GHC option
- -ffloat-in
  - GHC option
- -fforce-recomp
  - GHC option
- -ffull-laziness
  - GHC option
- -ffun-to-thunk
  - GHC option
- -fghci-hist-size=⟨n⟩
  - GHC option
- -fglasgow-exts
  - GHC option
- -fhelpful-errors
  - GHC option
- -fhide-source-paths
  - GHC option
- -fhpc
  - GHC option
- -fignore-asserts
  - GHC option
- -fignore-interface-pragmas
  - GHC option
- -flate-dmd-anal
  - GHC option
- -fliberate-case
  - GHC option
- -fliberate-case-threshold=⟨n⟩
  - GHC option
- -fllvm
  - GHC option
- -fllvm-fill-undef-with-garbage
  - GHC option
- -flocal-ghci-history
  - GHC option
- -floopification
  - GHC option
- -fmax-inline-alloc-size=⟨n⟩
  - GHC option
- -fmax-inline-memcpy-insns=⟨n⟩
  - GHC option
- -fmax-inline-memset-insns=⟨n⟩
  - GHC option
- -fmax-pmcheck-iterations=⟨n⟩
  - GHC option
- -fmax-relevant-binds=⟨n⟩
  - GHC option
- -fmax-simplifier-iterations=⟨n⟩
  - GHC option
- -fmax-uncovered-patterns=⟨n⟩
  - GHC option
- -fmax-worker-args=⟨n⟩
  - GHC option
- -fno-\* options (GHC)
- -fno-code
  - GHC option
- -fno-embed-manifest
  - GHC option
- -fno-gen-manifest
  - GHC option
- -fno-implicit-import-qualified
- -fno-max-relevant-bindings
  - GHC option
- -fno-opt-coercion
  - GHC option
- -fno-pre-inlining
  - GHC option
- -fno-prof-auto
  - GHC option
- -fno-prof-cafs
  - GHC option
- -fno-prof-count-entries
  - GHC option
- -fno-shared-implib
  - GHC option
- -fno-state-hack
  - GHC option
- -fobject-code
  - GHC option
- -fomit-interface-pragmas
  - GHC option
- -fomit-yields
  - GHC option
- -foptimal-applicative-do
  - GHC option
- -fpackage-trust
  - GHC option
- -fpedantic-bottoms
  - GHC option
- -fPIC
  - GHC option
- -fplugin-opt=⟨module⟩:⟨args⟩
  - GHC option
- -fplugin=⟨module⟩
  - GHC option
- -fprint-bind-result
  - GHC option
- -fprint-equality-relations
  - GHC option
- -fprint-expanded-synonyms
  - GHC option
- -fprint-explicit-coercions
  - GHC option
- -fprint-explicit-foralls
  - GHC option
- -fprint-explicit-kinds
  - GHC option
- -fprint-explicit-runtime-reps
  - GHC option
- -fprint-potential-instances
  - GHC option
- -fprint-typechecker-elaboration
  - GHC option
- -fprint-unicode-syntax
  - GHC option
- -fprof-auto
  - GHC option
- -fprof-auto-calls
  - GHC option
- -fprof-auto-exported
  - GHC option
- -fprof-auto-top
  - GHC option
- -fprof-cafs
  - GHC option
- -framework ⟨name⟩
  - GHC option
- -framework-path ⟨dir⟩
  - GHC option
- -fregs-graph
  - GHC option
- -fregs-iterative
  - GHC option
- -fshow-hole-constraints
  - GHC option
- -fshow-warning-groups
  - GHC option
- -fsimpl-tick-factor=⟨n⟩
  - GHC option
- -fsimplifier-phases=⟨n⟩
  - GHC option
- -fsolve-constant-dicts
  - GHC option
- -fspec-constr
  - GHC option
- -fspec-constr-count=⟨n⟩
  - GHC option
- -fspec-constr-keen
  - GHC option
- -fspec-constr-threshold=⟨n⟩
  - GHC option
- -fspecialise
  - GHC option
- -fspecialise-aggressively
  - GHC option
- -fstatic-argument-transformation
  - GHC option
- -fstg-cse
  - GHC option
- -fstrictness
  - GHC option
- -fstrictness-before=⟨n⟩
  - GHC option
- -funbox-small-strict-fields
  - GHC option
- -funbox-strict-fields
  - GHC option
- -funfolding-creation-threshold=⟨n⟩
  - GHC option
- -funfolding-dict-discount=⟨n⟩
  - GHC option
- -funfolding-fun-discount=⟨n⟩
  - GHC option
- -funfolding-keeness-factor=⟨n⟩
  - GHC option
- -funfolding-use-threshold0 option
- -funfolding-use-threshold=⟨n⟩
  - GHC option
- -fvectorisation-avoidance
  - GHC option
- -fvectorise
  - GHC option
- -fvia-C
- -fwhole-archive-hs-libs
  - GHC option
- -fwrite-interface
  - GHC option
- -g
  - GHC option
  - hp2ps command line option
- -G RTS option
- -G ⟨generations⟩
  - RTS option
- -ghci-script
  - GHC option
- -global-package-db
  - GHC option
- -g⟨n⟩
  - GHC option
- -H
  - RTS option
- -h
  - RTS option, [1]
- -H [⟨size⟩]
  - RTS option
- -H ⟨size⟩
  - GHC option
- -hb
  - RTS option
- -hc
  - RTS option
- -hcsuf ⟨suffix⟩
  - GHC option
- -hd
  - RTS option
- -hide-all-packages
  - GHC option
- -hide-all-plugin-packages
  - GHC option
- -hide-package ⟨pkg⟩
  - GHC option
- -hidir ⟨dir⟩
  - GHC option
- -hisuf ⟨suffix⟩
  - GHC option
- -hm
  - RTS option
- -hr
  - RTS option
- -hT
  - RTS option, [1]
- -hy
  - RTS option
- -h⟨break-down⟩
- -i
  - GHC option
- -I ⟨seconds⟩
  - RTS option
- -i ⟨secs⟩
  - RTS option
- -ignore-dot-ghci
  - GHC option
- -ignore-package ⟨pkg⟩
  - GHC option
- -include-pkg-deps
  - GHC option
- -interactive-print ⟨expr⟩
  - GHC option
- -I⟨dir⟩
  - GHC option
- -i⟨dir⟩[:⟨dir⟩]*
  - GHC option
- -j[⟨n⟩]
  - GHC option
- -K ⟨size⟩
  - RTS option
- -kb ⟨size⟩
  - RTS option
- -kc ⟨size⟩
  - RTS option
- -keep-hc-file
  - GHC option
- -keep-hc-files
  - GHC option
- -keep-hi-files
  - GHC option
- -keep-llvm-file
  - GHC option
- -keep-llvm-files
  - GHC option
- -keep-o-files
  - GHC option
- -keep-s-file
  - GHC option
- -keep-s-files
  - GHC option
- -keep-tmp-files
  - GHC option
- -ki ⟨size⟩
  - RTS option
- -l
  - RTS option
  - hp2ps command line option
- -L ⟨dir⟩
  - GHC option
- -l ⟨flags⟩
  - RTS option
- -l ⟨lib⟩
  - GHC option
- -L ⟨num⟩
  - RTS option
- -L ⟨n⟩
  - RTS option
- -M
  - GHC option
- -m ⟨n⟩
  - RTS option
- -M ⟨size⟩
  - RTS option
- -m\* options
- -main-is ⟨thing⟩
  - GHC option
- -maxN ⟨x⟩
  - RTS option
- -Mgrace=⟨size⟩
  - RTS option
- -msse2
  - GHC option
- -msse2 option
- -msse4.2
  - GHC option
- -m⟨int⟩
  - hp2ps command line option
- -n ⟨size⟩
  - RTS option
- -N ⟨x⟩
  - RTS option
- -no-auto-link-packages
  - GHC option
- -no-global-package-db
  - GHC option
- -no-hs-main
  - GHC option
- -no-rtsopts-suggestions
  - GHC option
- -no-user-package-db
  - GHC option
- -O
  - GHC option
- -o ⟨file⟩
  - GHC option
- -O ⟨size⟩
  - RTS option
- -O0
  - GHC option
- -O1
  - GHC option
- -O2
  - GHC option
- -odir ⟨dir⟩
  - GHC option
- -Odph
  - GHC option
- -ohi ⟨file⟩
  - GHC option
- -opta ⟨option⟩
  - GHC option
- -optc ⟨option⟩
  - GHC option
- -optdll ⟨option⟩
  - GHC option
- -optF ⟨option⟩
  - GHC option

- -opti ⟨option⟩
  - GHC option
- -optL ⟨option⟩
  - GHC option
- -optl ⟨option⟩
  - GHC option
- -optlc ⟨option⟩
  - GHC option
- -optlo ⟨option⟩
  - GHC option
- -optP ⟨option⟩
  - GHC option
- -optwindres ⟨option⟩
  - GHC option
- -osuf ⟨suffix⟩
  - GHC option
- -outputdir ⟨dir⟩
  - GHC option
- -P
  - RTS option
- -p
  - RTS option, [1]
  - hp2ps command line option
- -pa
  - RTS option
- -package ⟨name⟩
  - GHC option
- -package ⟨pkg⟩
  - GHC option
- -package-db
  - ghc-pkg option
- -package-db ⟨file⟩
  - GHC option
- -package-env ⟨file⟩|⟨name⟩
  - GHC option
- -package-id ⟨unit-id⟩
  - GHC option
- -pgma
- -pgma ⟨cmd⟩
  - GHC option
- -pgmc
- -pgmc ⟨cmd⟩
  - GHC option
- -pgmdll
- -pgmdll ⟨cmd⟩
  - GHC option
- -pgmF
- -pgmF ⟨cmd⟩
  - GHC option
- -pgmi ⟨cmd⟩
  - GHC option
- -pgmL
- -pgml
- -pgmL ⟨cmd⟩
  - GHC option
- -pgml ⟨cmd⟩
  - GHC option
- -pgmlc
- -pgmlc ⟨cmd⟩
  - GHC option
- -pgmlibtool ⟨cmd⟩
  - GHC option
- -pgmlo
- -pgmlo ⟨cmd⟩
  - GHC option
- -pgmP
- -pgmP ⟨cmd⟩
  - GHC option
- -pgms ⟨cmd⟩
  - GHC option
- -pgmwindres ⟨cmd⟩
  - GHC option
- -pj
  - RTS option
- -plugin-package ⟨pkg⟩
  - GHC option
- -plugin-package-id ⟨pkg-id⟩
  - GHC option
- -po ⟨stem⟩
  - RTS option
- -prof
  - GHC option
- -qa
  - RTS option
- -qb ⟨gen⟩
  - RTS option
- -qg ⟨gen⟩
  - RTS option
- -qm
  - RTS option
- -qn ⟨x⟩
  - RTS option
- -r ⟨file⟩
  - RTS option
- -R ⟨size⟩
  - RTS option
- -rdynamic
  - GHC option
- -Rghc-timing
  - GHC option
- -RTS
- -rtsopts[=⟨none|some|all⟩]
  - GHC option
- -S
  - GHC option
- -s
  - hp2ps command line option
- -S [⟨file⟩]
  - RTS option
- -s [⟨file⟩]
  - RTS option
- -S RTS option
- -shared
  - GHC option
- -split-objs
  - GHC option
- -split-sections
  - GHC option
- -static
  - GHC option
- -staticlib
  - GHC option
- -stubdir ⟨dir⟩
  - GHC option
- -T
  - RTS option
- -t [⟨file⟩]
  - RTS option
- -this-unit-id ⟨unit-id⟩
  - GHC option
- -threaded
  - GHC option
- -ticky
  - GHC option
- -tmpdir ⟨dir⟩
  - GHC option
- -trust ⟨pkg⟩
  - GHC option, [1]
- -t⟨float⟩
  - hp2ps command line option
- -user-package-db
  - GHC option
- -U⟨symbol⟩
  - GHC option
- -V
  - GHC option
  - ghc-pkg option
- -v
  - GHC option, [1]
  - ghc-pkg option
- -v [⟨flags⟩]
  - RTS option
- -V ⟨secs⟩
  - RTS option
- -W
  - GHC option
- -w
  - GHC option
- -Wall
  - GHC option
- -Wall-missed-specialisations
  - GHC option
- -Wamp
  - GHC option
- -Wcompat
  - GHC option
- -Wcpp-undef
  - GHC option
- -Wdeferred-out-of-scope-variables
  - GHC option
- -Wdeprecated-flags
  - GHC option
- -Wdeprecations
  - GHC option
- -Wdodgy-exports
  - GHC option
- -Wdodgy-foreign-imports
  - GHC option
- -Wdodgy-imports
  - GHC option
- -Wduplicate-constraints
  - GHC option
- -Wduplicate-exports
  - GHC option
- -Wempty-enumerations
  - GHC option
- -Werror
  - GHC option
- -Whi-shadowing
  - GHC option
- -Widentities
  - GHC option
- -Wimplicit-prelude
  - GHC option
- -Wincomplete-patterns
  - GHC option
- -Wincomplete-record-updates
  - GHC option
- -Wincomplete-uni-patterns
  - GHC option
- -Winline-rule-shadowing
  - GHC option
- -with-rtsopts=⟨opts⟩
  - GHC option
- -Wmissed-specialisations
  - GHC option
- -Wmissing-exported-signatures
  - GHC option
- -Wmissing-exported-sigs
  - GHC option
- -Wmissing-fields
  - GHC option
- -Wmissing-home-modules
  - GHC option
- -Wmissing-import-lists
  - GHC option
- -Wmissing-local-signatures
  - GHC option
- -Wmissing-local-sigs
  - GHC option
- -Wmissing-methods
  - GHC option
- -Wmissing-monadfail-instances
  - GHC option
- -Wmissing-pattern-synonym-signatures
  - GHC option
- -Wmissing-signatures
  - GHC option
- -Wmonomorphism-restriction
  - GHC option
- -Wname-shadowing
  - GHC option
- -Wno-compat
  - GHC option
- -Wnoncanonical-monad-instances
  - GHC option
- -Wnoncanonical-monadfail-instances
  - GHC option
- -Wnoncanonical-monoid-instances
  - GHC option
- -Worphans
  - GHC option
- -Woverflowed-literals
  - GHC option
- -Woverlapping-patterns
  - GHC option
- -Wpartial-type-signatures
  - GHC option
- -Wprint-explicit-runtime-rep
  - GHC option
- -Wredundant-constraints
  - GHC option
- -Wsafe
  - GHC option
- -Wsemigroup
  - GHC option
- -Wsimplifiable-class-constraints
  - GHC option
- -Wtabs
  - GHC option
- -Wtrustworthy-safe
  - GHC option
- -Wtype-defaults
  - GHC option
- -Wtype-errors
  - GHC option
- -Wtyped-holes
  - GHC option
- -Wunbanged-strict-patterns
  - GHC option
- -Wunrecognised-pragmas
  - GHC option
- -Wunrecognised-warning-flags
  - GHC option
- -Wunsafe
  - GHC option
- -Wunsupported-calling-conventions
  - GHC option
- -Wunsupported-llvm-version
  - GHC option
- -Wunticked-promoted-constructors
  - GHC option
- -Wunused-binds
  - GHC option
- -Wunused-do-bind
  - GHC option
- -Wunused-foralls
  - GHC option
- -Wunused-imports
  - GHC option
- -Wunused-local-binds
  - GHC option
- -Wunused-matches
  - GHC option
- -Wunused-pattern-binds
  - GHC option
- -Wunused-top-binds
  - GHC option
- -Wunused-type-patterns
  - GHC option
- -Wwarn
  - GHC option
- -Wwarnings-deprecations
  - GHC option
- -Wwrong-do-bind
  - GHC option
- -x ⟨suffix⟩
  - GHC option
- -XAllowAmbiguousTypes
  - GHC option
- -XApplicativeDo
  - GHC option
- -XArrows
  - GHC option
- -XBangPatterns
  - GHC option
- -XBinaryLiterals
  - GHC option
- -xc
  - RTS option, [1]
- -XConstrainedClassMethods
  - GHC option
- -XConstraintKinds
  - GHC option
- -XDataKinds
  - GHC option
- -XDatatypeContexts
  - GHC option
- -XDefaultSignatures
  - GHC option
- -XDeriveAnyClass
  - GHC option
- -XDeriveDataTypeable
  - GHC option
- -XDeriveFoldable
  - GHC option
- -XDeriveFunctor
  - GHC option
- -XDeriveGeneric
  - GHC option
- -XDeriveLift
  - GHC option
- -XDeriveTraversable
  - GHC option
- -XDerivingStrategies
  - GHC option
- -XDisambiguateRecordFields
  - GHC option
- -XDuplicateRecordFields
  - GHC option
- -XEmptyCase
  - GHC option
- -XEmptyDataDecls
  - GHC option
- -XExistentialQuantification
  - GHC option
- -XExplicitForAll
  - GHC option
- -XExplicitNamespaces
  - GHC option
- -XExtendedDefaultRules
  - GHC option
- -XFlexibleContexts
  - GHC option
- -XFlexibleInstances
  - GHC option
- -XForeignFunctionInterface
  - GHC option
- -XFunctionalDependencies
  - GHC option
- -XGADTs
  - GHC option
- -XGADTSyntax
  - GHC option
- -XGeneralisedNewtypeDeriving
  - GHC option
- -XGeneralizedNewtypeDeriving
  - GHC option
- -XImplicitParams
  - GHC option
- -XImpredicativeTypes
  - GHC option
- -XIncoherentInstances
  - GHC option
- -XInstanceSigs
  - GHC option
- -XKindSignatures
  - GHC option
- -XLambdaCase
  - GHC option
- -XLiberalTypeSynonyms
  - GHC option
- -xm
  - RTS option
- -xm ⟨address⟩
  - RTS option
- -XMagicHash
  - GHC option
- -XMonadComprehensions
  - GHC option
- -XMonadFailDesugaring
  - GHC option
- -XMonoLocalBinds
  - GHC option
- -XMultiParamTypeClasses
  - GHC option
- -XMultiWayIf
  - GHC option
- -XNamedFieldPuns
  - GHC option
- -XNamedWildCards
  - GHC option
- -XNegativeLiterals
  - GHC option
- -XNoImplicitPrelude
  - GHC option
- -XNoMonomorphismRestriction
  - GHC option
- -XNoPatternGuards
  - GHC option
- -XNoTraditionalRecordSyntax
  - GHC option
- -XNPlusKPatterns
  - GHC option
- -XNullaryTypeClasses
  - GHC option
- -XNumDecimals
  - GHC option
- -XOverlappingInstances
  - GHC option
- -XOverloadedLabels
  - GHC option
- -XOverloadedLists
  - GHC option
- -XOverloadedStrings
  - GHC option
- -XPackageImports
  - GHC option
- -XParallelListComp
  - GHC option
- -XPartialTypeSignatures
  - GHC option
- -XPatternSynonyms
  - GHC option
- -XPolyKinds
  - GHC option
- -XPostfixOperators
  - GHC option
- -xq ⟨size⟩
  - RTS option
- -XQuasiQuotes
  - GHC option
- -XRank2Types
  - GHC option
- -XRankNTypes
  - GHC option
- -XRebindableSyntax
  - GHC option
- -XRecordWildCards
  - GHC option
- -XRecursiveDo
  - GHC option
- -XRoleAnnotations
  - GHC option
- -XSafe
  - GHC option
- -XScopedTypeVariables
  - GHC option
- -XStandaloneDeriving
  - GHC option
- -XStaticPointers
  - GHC option
- -XStrict
  - GHC option
- -XStrictData
  - GHC option
- -xt
  - RTS option
- -XTemplateHaskell
  - GHC option
- -XTemplateHaskellQuotes
  - GHC option
- -XTransformListComp
  - GHC option
- -XTrustworthy
  - GHC option
- -XTupleSections
  - GHC option
- -XTypeApplications
  - GHC option
- -XTypeFamilies
  - GHC option
- -XTypeFamilyDependencies
  - GHC option
- -XTypeInType
  - GHC option
- -XTypeOperators
  - GHC option
- -XTypeSynonymInstances
  - GHC option
- -XUnboxedSums
  - GHC option
- -XUnboxedTuples
  - GHC option
- -XUndecidableInstances
  - GHC option
- -XUndecidableSuperClasses
  - GHC option
- -XUnicodeSyntax
  - GHC option
- -XUnsafe
  - GHC option
- -XViewPatterns
  - GHC option
- -y
  - hp2ps command line option
- -Z
  - RTS option
- .ghci
  - file
- .haskeline
  - file
- .hc files, saving
- .hi files
- .ll files, saving
- .o files
- .s files, saving
- :
  - GHCi command
- :! ⟨command⟩
  - GHCi command
- :?
  - GHCi command
- :abandon
  - GHCi command
- :add
  - GHCi command
- :all-types
  - GHCi command
- :back
  - GHCi command
- :break
  - GHCi command
- :browse
  - GHCi command
- :cd
  - GHCi command
- :cmd
  - GHCi command
- :complete
  - GHCi command
- :continue
  - GHCi command
- :ctags
  - GHCi command
- :def
  - GHCi command
- :delete
  - GHCi command
- :edit
  - GHCi command
- :etags
  - GHCi command
- :force
  - GHCi command
- :forward
  - GHCi command
- :help
  - GHCi command
- :history
  - GHCi command
- :info
  - GHCi command
- :issafe
  - GHCi command
- :kind
  - GHCi command
- :list
  - GHCi command
- :list [⟨module⟩]
  - GHCi command
- :load
  - GHCi command
- :loc-at
  - GHCi command
- :main
  - GHCi command
- :module
  - GHCi command
- :print
  - GHCi command
- :quit
  - GHCi command
- :reload
  - GHCi command
- :run
  - GHCi command
- :script
  - GHCi command
- :set
  - GHCi command
  - command in GHCi
- :set +c
  - GHCi command
- :set +m
  - GHCi command
- :set +r
  - GHCi command
- :set +s
  - GHCi command
- :set +t
  - GHCi command
- :set args
  - GHCi command
- :set editor
  - GHCi command
- :set prog
  - GHCi command
- :set prompt
  - GHCi command
- :set prompt-cont
  - GHCi command
- :set prompt-cont-function
  - GHCi command
- :set prompt-function
  - GHCi command
- :set stop
  - GHCi command
- :seti
  - GHCi command
- :show
  - GHCi command
- :show bindings
  - GHCi command
- :show breaks
  - GHCi command
- :show context
  - GHCi command
- :show imports
  - GHCi command
- :show language
  - GHCi command
- :show modules
  - GHCi command
- :show packages
  - GHCi command
- :show paths
  - GHCi command
- :showi language
  - GHCi command
- :sprint
  - GHCi command
- :step
  - GHCi command
- :steplocal
  - GHCi command
- :stepmodule
  - GHCi command
- :trace
  - GHCi command
- :type
  - GHCi command
- :type +d
  - GHCi command
- :type +v
  - GHCi command
- :type-at
  - GHCi command
- :undef
  - GHCi command
- :unset
  - GHCi command
- :uses
  - GHCi command
- :{
  - GHCi command
- :}
  - GHCi command

## _

- __GLASGOW_HASKELL__, [1]
- __GLASGOW_HASKELL_LLVM__
- __GLASGOW_HASKELL_PATCHLEVEL1__

- __GLASGOW_HASKELL_PATCHLEVEL2__
- __GLASGOW_HASKELL_TH__
- __PARALLEL_HASKELL__

## A

- allocation area for large objects, size
- allocation area, chunk size
- allocation area, size
- AMP
- ANN pragma
  - on modules
  - on types
- apparently erroneous do binding, warning
- Applicative do-notation
- Applicative-Monad Proposal

- arguments
  - command-line
- ASCII
- Assertions
- assertions
  - disabling
- author
  - package specification
- auto
  - package specification

## B

- Bang patterns
- binds, unused, [1], [2], [3]

- bugs
  - reporting

## C

- C calls, function headers
- C code generator
- C pre-processor options
- CAFs
  - in GHCi
- category
  - package specification
- cc-options
  - package specification
- Char
  - size of
- code coverage
- COLUMN
  - pragma
- command-line
  - arguments
  - order of arguments
- compacting garbage collection
- compilation phases, changing
- compiled code
  - in GHCi

- compiler problems
- compiling faster
- complete user-supplied kind signature
- concurrency
- Concurrent Haskell
  - using
- CONLIKE
- consistency checks
- Constant Applicative Form
- constructor fields, strict, [1]
- copyright
  - package specification
- cost centres
  - automatically inserting, [1]
- cost-centre profiling
- cpp, pre-processing with
- CUSK
- Custom printing function
  - in GHCi

## D

- debugger
  - in GHCi
- debugging options (for GHC)
- default declarations
- defaulting mechanism, warning
- dependencies in Makefiles
- dependency-generation mode
  - of GHC
- depends
  - package specification
- DEPRECATED
- deprecated flags
- deprecations
  - warnings
- description
  - package specification
- deterministic builds

- disabling
  - assertions
- displaying type
  - in GHCi
- DLL-creation mode
- do binding, apparently erroneous
- do binding, unused
- do-notation
  - Applicative
  - in GHCi
- dumping GHC intermediates
- duplicate constraints, warning
- duplicate exports, warning
- dynamic
  - options, [1]
- Dynamic libraries
  - using

## E

- EDITOR, [1]
- encodings
  - of source files
- environment file
- environment variable
  - EDITOR, [1]
  - GHCRTS, [1], [2], [3], [4]
  - GHC_PACKAGE_PATH, [1], [2], [3], [4], [5]
  - HOME, [1]
  - HPCTIXFILE, [1], [2]
  - LD_LIBRARY_PATH, [1]
  - PATH, [1]
  - RPATH
  - RUNPATH
  - TMPDIR, [1]
  - for setting RTS options
- eval mode
  - of GHC

- eventlog
  - and heap profiling
- eventlog files
- EventLogWriter (C type)
- EventLogWriter.flushEventLog (C member)
- EventLogWriter.initEventLogWriter (C member)
- EventLogWriter.stopEventLogWriter (C member)
- EventLogWriter.writeEventLog (C member)
- events
- export lists, duplicates
- exposed
  - package specification
- exposed-modules
  - package specification
- extended list comprehensions
- extensions
  - options controlling
- extra-libraries
  - package specification

## F

- faster compiling
- faster programs, how to produce
- FFI
  - GHCi support
- fields, missing
- file names
  - of source files
- file suffixes for GHC
- filenames
  - of modules
- finding interface files
- Floating point
  - and the FFI
- floating-point exceptions.
- forall
- foralls, unused

- forcing GHC-phase options
- foreign
- foreign export
  - with GHC
- Foreign Function Interface
  - GHCi support
- Foreign function interface
- formatting dumps
- framework-dirs
  - package specification
- frameworks
  - package specification
- fromInteger function
- fromIntegral function
- frontend plugins
  - using

## G

- garbage collection
  - compacting
- garbage collector
  - options
- GC threads, setting the number of
- generations, number of
- getArgs, behavior in GHCi
- getProgName, behavior in GHCi
- GHC backends
- GHC code generators
- GHC option
  - --exclude-module=⟨file⟩
  - --frontend ⟨module⟩
  - --help
  - --info
  - --interactive
  - --make
  - --mk-dll
  - --numeric-version
  - --print-libdir
  - --show-iface ⟨file⟩, [1]
  - --show-options
  - --supported-extensions
  - --supported-languages
  - --version
  - -?
  - -C
  - -D⟨symbol⟩[=⟨value⟩]
  - -E
  - -F
  - -H ⟨size⟩
  - -I⟨dir⟩
  - -L ⟨dir⟩
  - -M
  - -O
  - -O0
  - -O1
  - -O2
  - -Odph
  - -Rghc-timing
  - -S
  - -U⟨symbol⟩
  - -V
  - -W
  - -Wall
  - -Wall-missed-specialisations
  - -Wamp
  - -Wcompat
  - -Wcpp-undef
  - -Wdeferred-out-of-scope-variables
  - -Wdeprecated-flags
  - -Wdeprecations
  - -Wdodgy-exports
  - -Wdodgy-foreign-imports
  - -Wdodgy-imports
  - -Wduplicate-constraints
  - -Wduplicate-exports
  - -Wempty-enumerations
  - -Werror
  - -Whi-shadowing
  - -Widentities
  - -Wimplicit-prelude
  - -Wincomplete-patterns
  - -Wincomplete-record-updates
  - -Wincomplete-uni-patterns
  - -Winline-rule-shadowing
  - -Wmissed-specialisations
  - -Wmissing-exported-signatures
  - -Wmissing-exported-sigs
  - -Wmissing-fields
  - -Wmissing-home-modules
  - -Wmissing-import-lists
  - -Wmissing-local-signatures
  - -Wmissing-local-sigs
  - -Wmissing-methods
  - -Wmissing-monadfail-instances
  - -Wmissing-pattern-synonym-signatures
  - -Wmissing-signatures
  - -Wmonomorphism-restriction
  - -Wname-shadowing
  - -Wno-compat
  - -Wnoncanonical-monad-instances
  - -Wnoncanonical-monadfail-instances
  - -Wnoncanonical-monoid-instances
  - -Worphans
  - -Woverflowed-literals
  - -Woverlapping-patterns
  - -Wpartial-type-signatures
  - -Wprint-explicit-runtime-rep
  - -Wredundant-constraints
  - -Wsafe
  - -Wsemigroup
  - -Wsimplifiable-class-constraints
  - -Wtabs
  - -Wtrustworthy-safe
  - -Wtype-defaults
  - -Wtype-errors
  - -Wtyped-holes
  - -Wunbanged-strict-patterns
  - -Wunrecognised-pragmas
  - -Wunrecognised-warning-flags
  - -Wunsafe
  - -Wunsupported-calling-conventions
  - -Wunsupported-llvm-version
  - -Wunticked-promoted-constructors
  - -Wunused-binds
  - -Wunused-do-bind
  - -Wunused-foralls
  - -Wunused-imports
  - -Wunused-local-binds
  - -Wunused-matches
  - -Wunused-pattern-binds
  - -Wunused-top-binds
  - -Wunused-type-patterns
  - -Wwarn
  - -Wwarnings-deprecations
  - -Wwrong-do-bind
  - -XAllowAmbiguousTypes
  - -XApplicativeDo
  - -XArrows
  - -XBangPatterns
  - -XBinaryLiterals
  - -XConstrainedClassMethods
  - -XConstraintKinds
  - -XDataKinds
  - -XDatatypeContexts
  - -XDefaultSignatures
  - -XDeriveAnyClass
  - -XDeriveDataTypeable
  - -XDeriveFoldable
  - -XDeriveFunctor
  - -XDeriveGeneric
  - -XDeriveLift
  - -XDeriveTraversable
  - -XDerivingStrategies
  - -XDisambiguateRecordFields
  - -XDuplicateRecordFields
  - -XEmptyCase
  - -XEmptyDataDecls
  - -XExistentialQuantification
  - -XExplicitForAll
  - -XExplicitNamespaces
  - -XExtendedDefaultRules
  - -XFlexibleContexts
  - -XFlexibleInstances
  - -XForeignFunctionInterface
  - -XFunctionalDependencies
  - -XGADTSyntax
  - -XGADTs
  - -XGeneralisedNewtypeDeriving
  - -XGeneralizedNewtypeDeriving
  - -XImplicitParams
  - -XImpredicativeTypes
  - -XIncoherentInstances
  - -XInstanceSigs
  - -XKindSignatures
  - -XLambdaCase
  - -XLiberalTypeSynonyms
  - -XMagicHash
  - -XMonadComprehensions
  - -XMonadFailDesugaring
  - -XMonoLocalBinds
  - -XMultiParamTypeClasses
  - -XMultiWayIf
  - -XNPlusKPatterns
  - -XNamedFieldPuns
  - -XNamedWildCards
  - -XNegativeLiterals
  - -XNoImplicitPrelude
  - -XNoMonomorphismRestriction
  - -XNoPatternGuards
  - -XNoTraditionalRecordSyntax
  - -XNullaryTypeClasses
  - -XNumDecimals
  - -XOverlappingInstances
  - -XOverloadedLabels
  - -XOverloadedLists
  - -XOverloadedStrings
  - -XPackageImports
  - -XParallelListComp
  - -XPartialTypeSignatures
  - -XPatternSynonyms
  - -XPolyKinds
  - -XPostfixOperators
  - -XQuasiQuotes
  - -XRank2Types
  - -XRankNTypes
  - -XRebindableSyntax
  - -XRecordWildCards
  - -XRecursiveDo
  - -XRoleAnnotations
  - -XSafe
  - -XScopedTypeVariables
  - -XStandaloneDeriving
  - -XStaticPointers
  - -XStrict
  - -XStrictData
  - -XTemplateHaskell
  - -XTemplateHaskellQuotes
  - -XTransformListComp
  - -XTrustworthy
  - -XTupleSections
  - -XTypeApplications
  - -XTypeFamilies
  - -XTypeFamilyDependencies
  - -XTypeInType
  - -XTypeOperators
  - -XTypeSynonymInstances
  - -XUnboxedSums
  - -XUnboxedTuples
  - -XUndecidableInstances
  - -XUndecidableSuperClasses
  - -XUnicodeSyntax
  - -XUnsafe
  - -XViewPatterns
  - -c, [1]
  - -clear-package-db
  - -cpp
  - -dcmm-lint
  - -dcore-lint
  - -ddump-asm
  - -ddump-bcos
  - -ddump-cmm
  - -ddump-cmm-from-stg
  - -ddump-cmm-verbose
  - -ddump-core-stats
  - -ddump-cse
  - -ddump-deriv
  - -ddump-ds
  - -ddump-ec-trace
  - -ddump-foreign
  - -ddump-hi
  - -ddump-hi-diffs
  - -ddump-if-trace
  - -ddump-inlinings
  - -ddump-json
  - -ddump-llvm
  - -ddump-minimal-imports
  - -ddump-mod-cycles
  - -ddump-occur-anal
  - -ddump-opt-cmm
  - -ddump-parsed
  - -ddump-parsed-ast
  - -ddump-prep
  - -ddump-rn
  - -ddump-rn-ast
  - -ddump-rn-stats
  - -ddump-rn-trace
  - -ddump-rule-firings
  - -ddump-rule-rewrites
  - -ddump-rules
  - -ddump-simpl
  - -ddump-simpl-iterations
  - -ddump-simpl-stats
  - -ddump-spec
  - -ddump-splices
  - -ddump-stg
  - -ddump-str-signatures
  - -ddump-stranal
  - -ddump-tc
  - -ddump-tc-ast
  - -ddump-tc-trace
  - -ddump-to-file
  - -ddump-types
  - -ddump-vect
  - -ddump-vt-trace
  - -ddump-worker-wrapper
  - -debug
  - -dep-makefile ⟨file⟩
  - -dep-suffix ⟨suffix⟩
  - -dfaststring-stats
  - -dinitial-unique=⟨s⟩
  - -distrust ⟨pkg⟩, [1]
  - -distrust-all
  - -distrust-all-packages
  - -dno-debug-output
  - -dppr-case-as-let
  - -dppr-cols=⟨n⟩
  - -dppr-debug
  - -dppr-user-length
  - -dshow-passes
  - -dstg-lint
  - -dsuppress-all
  - -dsuppress-coercions
  - -dsuppress-idinfo
  - -dsuppress-module-prefixes
  - -dsuppress-ticks
  - -dsuppress-type-applications
  - -dsuppress-type-signatures
  - -dsuppress-unfoldings
  - -dsuppress-uniques
  - -dth-dec-file=⟨file⟩
  - -dumpdir ⟨dir⟩
  - -dunique-increment=⟨i⟩
  - -dverbose-core2core
  - -dverbose-stg2stg
  - -dylib-install-name ⟨path⟩
  - -dynamic
  - -dynamic-too
  - -dynload
  - -e ⟨expr⟩
  - -eventlog
  - -fPIC
  - -f[no-]diagnostics-show-caret
  - -fasm
  - -fbreak-on-error
  - -fbreak-on-exception
  - -fbyte-code
  - -fcall-arity
  - -fcase-folding
  - -fcase-merge
  - -fcmm-elim-common-blocks
  - -fcmm-sink
  - -fcpr-off
  - -fcross-module-specialise
  - -fcse
  - -fdefer-out-of-scope-variables
  - -fdefer-type-errors
  - -fdefer-typed-holes
  - -fdiagnostics-color=⟨always|auto|never⟩
  - -fdicts-cheap
  - -fdicts-strict
  - -fdmd-tx-dict-sel
  - -fdo-eta-reduction
  - -fdo-lambda-eta-expansion
  - -feager-blackholing, [1]
  - -fenable-rewrite-rules
  - -ferror-spans
  - -fexcess-precision
  - -fexpose-all-unfoldings
  - -fexternal-interpreter
  - -ffloat-in
  - -fforce-recomp
  - -ffull-laziness
  - -ffun-to-thunk
  - -fghci-hist-size=⟨n⟩
  - -fglasgow-exts
  - -fhelpful-errors
  - -fhide-source-paths
  - -fhpc
  - -fignore-asserts
  - -fignore-interface-pragmas
  - -flate-dmd-anal
  - -fliberate-case
  - -fliberate-case-threshold=⟨n⟩
  - -fllvm
  - -fllvm-fill-undef-with-garbage
  - -flocal-ghci-history
  - -floopification
  - -fmax-inline-alloc-size=⟨n⟩
  - -fmax-inline-memcpy-insns=⟨n⟩
  - -fmax-inline-memset-insns=⟨n⟩
  - -fmax-pmcheck-iterations=⟨n⟩
  - -fmax-relevant-binds=⟨n⟩
  - -fmax-simplifier-iterations=⟨n⟩
  - -fmax-uncovered-patterns=⟨n⟩
  - -fmax-worker-args=⟨n⟩
  - -fno-code
  - -fno-embed-manifest
  - -fno-gen-manifest
  - -fno-max-relevant-bindings
  - -fno-opt-coercion
  - -fno-pre-inlining
  - -fno-prof-auto
  - -fno-prof-cafs
  - -fno-prof-count-entries
  - -fno-shared-implib
  - -fno-state-hack
  - -fobject-code
  - -fomit-interface-pragmas
  - -fomit-yields
  - -foptimal-applicative-do
  - -fpackage-trust
  - -fpedantic-bottoms
  - -fplugin-opt=⟨module⟩:⟨args⟩
  - -fplugin=⟨module⟩
  - -fprint-bind-result
  - -fprint-equality-relations
  - -fprint-expanded-synonyms
  - -fprint-explicit-coercions
  - -fprint-explicit-foralls
  - -fprint-explicit-kinds
  - -fprint-explicit-runtime-reps
  - -fprint-potential-instances
  - -fprint-typechecker-elaboration
  - -fprint-unicode-syntax
  - -fprof-auto
  - -fprof-auto-calls
  - -fprof-auto-exported
  - -fprof-auto-top
  - -fprof-cafs
  - -framework ⟨name⟩
  - -framework-path ⟨dir⟩
  - -fregs-graph
  - -fregs-iterative
  - -fshow-hole-constraints
  - -fshow-warning-groups
  - -fsimpl-tick-factor=⟨n⟩
  - -fsimplifier-phases=⟨n⟩
  - -fsolve-constant-dicts
  - -fspec-constr
  - -fspec-constr-count=⟨n⟩
  - -fspec-constr-keen
  - -fspec-constr-threshold=⟨n⟩
  - -fspecialise
  - -fspecialise-aggressively
  - -fstatic-argument-transformation
  - -fstg-cse
  - -fstrictness
  - -fstrictness-before=⟨n⟩
  - -funbox-small-strict-fields
  - -funbox-strict-fields
  - -funfolding-creation-threshold=⟨n⟩
  - -funfolding-dict-discount=⟨n⟩
  - -funfolding-fun-discount=⟨n⟩
  - -funfolding-keeness-factor=⟨n⟩
  - -funfolding-use-threshold=⟨n⟩
  - -fvectorisation-avoidance
  - -fvectorise
  - -fwhole-archive-hs-libs
  - -fwrite-interface
  - -g
  - -ghci-script
  - -global-package-db
  - -g⟨n⟩
  - -hcsuf ⟨suffix⟩
  - -hide-all-packages
  - -hide-all-plugin-packages
  - -hide-package ⟨pkg⟩
  - -hidir ⟨dir⟩
  - -hisuf ⟨suffix⟩
  - -i
  - -ignore-dot-ghci
  - -ignore-package ⟨pkg⟩
  - -include-pkg-deps
  - -interactive-print ⟨expr⟩
  - -i⟨dir⟩[:⟨dir⟩]*
  - -j[⟨n⟩]
  - -keep-hc-file
  - -keep-hc-files
  - -keep-hi-files
  - -keep-llvm-file
  - -keep-llvm-files
  - -keep-o-files
  - -keep-s-file
  - -keep-s-files
  - -keep-tmp-files
  - -l ⟨lib⟩
  - -main-is ⟨thing⟩
  - -msse2
  - -msse4.2
  - -no-auto-link-packages
  - -no-global-package-db
  - -no-hs-main
  - -no-rtsopts-suggestions
  - -no-user-package-db
  - -o ⟨file⟩
  - -odir ⟨dir⟩
  - -ohi ⟨file⟩
  - -optF ⟨option⟩
  - -optL ⟨option⟩
  - -optP ⟨option⟩
  - -opta ⟨option⟩
  - -optc ⟨option⟩
  - -optdll ⟨option⟩
  - -opti ⟨option⟩
  - -optl ⟨option⟩
  - -optlc ⟨option⟩
  - -optlo ⟨option⟩
  - -optwindres ⟨option⟩
  - -osuf ⟨suffix⟩
  - -outputdir ⟨dir⟩
  - -package ⟨name⟩
  - -package ⟨pkg⟩
  - -package-db ⟨file⟩
  - -package-env ⟨file⟩|⟨name⟩
  - -package-id ⟨unit-id⟩
  - -pgmF ⟨cmd⟩
  - -pgmL ⟨cmd⟩
  - -pgmP ⟨cmd⟩
  - -pgma ⟨cmd⟩
  - -pgmc ⟨cmd⟩
  - -pgmdll ⟨cmd⟩
  - -pgmi ⟨cmd⟩
  - -pgml ⟨cmd⟩
  - -pgmlc ⟨cmd⟩
  - -pgmlibtool ⟨cmd⟩
  - -pgmlo ⟨cmd⟩
  - -pgms ⟨cmd⟩
  - -pgmwindres ⟨cmd⟩
  - -plugin-package ⟨pkg⟩
  - -plugin-package-id ⟨pkg-id⟩
  - -prof
  - -rdynamic
  - -rtsopts[=⟨none|some|all⟩]
  - -shared
  - -split-objs
  - -split-sections
  - -static
  - -staticlib
  - -stubdir ⟨dir⟩
  - -this-unit-id ⟨unit-id⟩
  - -threaded
  - -ticky
  - -tmpdir ⟨dir⟩
  - -trust ⟨pkg⟩, [1]
  - -user-package-db
  - -v
  - -w
  - -with-rtsopts=⟨opts⟩
  - -x ⟨suffix⟩
  - When enabled, turn on an extra check for a trustworthy module ``M``,
  - requiring the package that ``M`` resides in be considered trusted, for ``M``
  - resets the search path back to nothing.
  - to be considered trusted.

- GHC vs the Haskell standards
- GHC, using
- GHC_PACKAGE_PATH, [1], [2], [3], [4]
- GHCi, [1]
- GHCi command
  - :
  - :! ⟨command⟩
  - :?
  - :abandon
  - :add
  - :all-types
  - :back
  - :break
  - :browse
  - :cd
  - :cmd
  - :complete
  - :continue
  - :ctags
  - :def
  - :delete
  - :edit
  - :etags
  - :force
  - :forward
  - :help
  - :history
  - :info
  - :issafe
  - :kind
  - :list
  - :list [⟨module⟩]
  - :load
  - :loc-at
  - :main
  - :module
  - :print
  - :quit
  - :reload
  - :run
  - :script
  - :set
  - :set +c
  - :set +m
  - :set +r
  - :set +s
  - :set +t
  - :set args
  - :set editor
  - :set prog
  - :set prompt
  - :set prompt-cont
  - :set prompt-cont-function
  - :set prompt-function
  - :set stop
  - :seti
  - :show
  - :show bindings
  - :show breaks
  - :show context
  - :show imports
  - :show language
  - :show modules
  - :show packages
  - :show paths
  - :showi language
  - :sprint
  - :step
  - :steplocal
  - :stepmodule
  - :trace
  - :type
  - :type +d
  - :type +v
  - :type-at
  - :undef
  - :unset
  - :uses
  - :{
  - :}
  - import
- GHCi prompt
  - setting
- GHCi prompt function
  - setting
- GHCRTS, [1], [2], [3]
- GHCRTS environment variable
- Glasgow Haskell mailing lists
- group

## H

- haddock-html
  - package specification
- haddock-interfaces
  - package specification
- Happy
- happy parser generator
- Haskell Program Coverage
- Haskell standards vs GHC
- heap profiles
- heap size, factor
- heap size, grace
- heap size, maximum
- heap size, suggested
- heap space, using less
- heap, minimum free
- help options
- hidden-modules
  - package specification
- HOME, [1]
- homepage
  - package specification
- hooks
  - RTS

- hp2ps
- hp2ps command line option
  - -?
  - -b
  - -c
  - -d
  - -e⟨float⟩[in|mm|pt]
  - -g
  - -l
  - -m⟨int⟩
  - -p
  - -s
  - -t⟨float⟩
  - -y
- hpc
- HPCTIXFILE, [1]
- hs-libraries
  - package specification
- hs_exit
- hs_init
- hsc2hs
- Hugs
- hugs-options
  - package specification

## I

- id
  - package specification
- idle GC
- implicit parameters
- implicit prelude, warning
- import
  - GHCi command
- import lists, missing
- import-dirs
  - package specification
- imports, unused
- improvement, code
- in GHCi
  - Repeating last command
- include-dirs
  - package specification
- includes
  - package specification
- INCOHERENT

- incomplete patterns, warning
- incomplete record updates, warning
- INLINE
- inlining, controlling, [1], [2], [3], [4]
- Int
  - size of
- interactive
- Interactive classes
- interactive mode
- interface files
- interface files, finding them
- interface files, options
- interfacing with native code
- intermediate files, saving
- intermediate passes, output
- interpreter
- invoking
  - GHCi
- it variable

## K

- kind heterogeneous
  - Type equality constraints

## L

- LANGUAGE
  - pragma
- language
  - option
- language, GHC extensions
- Latin-1
- ld options
- ld-options
  - package specification
- LD_LIBRARY_PATH, [1]
- levity polymorphism
- lhs file extension
- libdir
- libraries
  - with GHCi

- library-dirs
  - package specification
- license-file
  - package specification
- LINE
  - pragma
- linker options
- linking Haskell libraries with foreign code
- lint
- list comprehensions
  - ambiguity with quasi-quotes
  - generalised
  - parallel
- LLVM code generator

## M

- machine-specific options
- mailing lists, Glasgow Haskell
- maintainer
  - package specification
- make
  - building programs with
- make and recompilation
- make mode
  - of GHC
- Makefile dependencies
- Makefiles
  - avoiding
- MallocFailHook (C function)
- matches, unused
- mdo
- memory, using less heap

- methods, missing
- MFP
- MIN_VERSION_GLASGOW_HASKELL
- MINIMAL
- missing fields, warning
- missing import lists, warning
- missing methods, warning
- mode
  - options
- module system, recursion
- modules
  - and filenames
- monad comprehensions
- MonadFail Proposal
- monomorphism restriction, warning
- multiline input
  - in GHCi

## N

- name
  - package specification
- native code generator
- NOINLINE

- nominal
  - role
- NOTINLINE
- NOUNPACK
- NUMA, enabling in the runtime

## O

- object files
- old generation, size
- optimisation
- optimise
  - DPH
  - aggressively
  - normally
- optimization
  - and GHCi
- options
  - GHCi
  - for profiling
  - language

- OPTIONS_GHC
- orphan instances, warning
- orphan rules, warning
- OutOfHeapHook (C function)
- output-directing options
- OVERLAPPABLE
- OVERLAPPING
- overlapping patterns, warning
- OVERLAPS
- overloading, death to, [1], [2]

## P

- package environments
- package trust
- package-url
  - package specification
- packages
  - building
  - management
  - using
  - with GHCi
- parallel list comprehensions
- parallelism, [1]
- parser generator for Haskell
- PATH, [1]
- patterns, incomplete
- patterns, overlapping
- phantom
  - role
- platform-specific options
- postscript, from heap profiles
- pragma
  - ANN
  - COLUMN
  - INCOHERENT
  - LANGUAGE
  - LINE
  - MINIMAL
  - OVERLAPPABLE
  - OVERLAPPING
  - OVERLAPS
  - RULES
  - SOURCE
  - ``INLINE``
  - ``OPTIONS_GHC``

- pragma, SPECIALIZE
- pre-processing: cpp
- pre-processing: custom
- pre-processor options
- problems
- problems running your program
- problems with the compiler
- proc
- profiling
  - options
  - ticky ticky
  - with Template Haskell
- promoted constructor, warning
- prompt
  - GHCi

## Q

- quasi-quotation
- Quasi-quotes

- quasi-quotes
  - ambiguity with list comprehensions

## R

- recompilation checker, [1]
- record updates, incomplete
- recursion, between modules
- redirecting compilation output
- redundant constraints, warning
- reexported-modules
  - reexport specification
- Repeating last command
  - in GHCi
- reporting bugs
- representational
  - role
- requiring the package that ``M`` resides in be considered trusted, for ``M``
  - GHC option
- resets the search path back to nothing.
  - GHC option
- rewrite rules
- roles
- RPATH
- RTS
- RTS behaviour, changing
- RTS hooks
- RTS option
  - --info
  - --install-signal-handlers=⟨yes|no⟩
  - --machine-readable
  - --numa
  - --numa=<mask>
  - -A ⟨size⟩
  - -AL ⟨size⟩
  - -B
  - -C ⟨s⟩
  - -D ⟨x⟩
  - -F ⟨factor⟩
  - -G ⟨generations⟩
  - -H [⟨size⟩]
  - -I ⟨seconds⟩
  - -K ⟨size⟩
  - -L ⟨num⟩
  - -L ⟨n⟩
  - -M ⟨size⟩
  - -Mgrace=⟨size⟩
  - -N ⟨x⟩
  - -O ⟨size⟩
  - -P
  - -R ⟨size⟩
  - -S [⟨file⟩]
  - -T
  - -V ⟨secs⟩
  - -Z
  - -c
  - -c ⟨n⟩
  - -h, [1]
  - -hT, [1]
  - -hb
  - -hc
  - -hd
  - -hm
  - -hr
  - -hy
  - -i ⟨secs⟩
  - -kb ⟨size⟩
  - -kc ⟨size⟩
  - -ki ⟨size⟩
  - -l
  - -l ⟨flags⟩
  - -m ⟨n⟩
  - -maxN ⟨x⟩
  - -n ⟨size⟩
  - -p
  - -pa
  - -pj
  - -po ⟨stem⟩
  - -qa
  - -qb ⟨gen⟩
  - -qg ⟨gen⟩
  - -qm
  - -qn ⟨x⟩
  - -r ⟨file⟩
  - -s [⟨file⟩]
  - -t [⟨file⟩]
  - -v [⟨flags⟩]
  - -xc, [1]
  - -xm ⟨address⟩
  - -xq ⟨size⟩
  - -xt

- RTS options
  - concurrent
  - from the environment
  - garbage collection
- RTS options, hacking/debugging
- RTS options, setting
- RULES pragma
- runghc
- running, compiled program
- RUNPATH
- runtime control of Haskell programs

## S

- safe compilation
- safe haskell
- Safe Haskell flags
- safe haskell trust
- safe haskell uses
- safe imports
- safe inference
- safe language
- sanity-checking options
- search path
  - source code
- secure haskell
- semigroup
  - warning
- separate compilation, [1]
- shadowing
  - interface files
- shadowing, warning
- Shared libraries
  - using
- shell commands
  - in GHCi
- Show class
- signature files
  - Backpack; hsig files
- simple: stack trace
  - in GHCi
- simplifiable class constraints, warning
- single : -osuf
  - using with profiling

- smaller programs, how to produce
- SMP, [1]
- SOURCE
- source annotations
- source-file options
- space-leaks, avoiding
- SPECIALIZE pragma, [1], [2]
- specifying your own main function
- SQL
- stability
  - package specification
- stack
  - chunk buffer size
  - chunk size
- stack, initial size
- stack, maximum size
- StackOverflowHook (C function)
- startup
  - files, GHCi, [1]
- statements
  - in GHCi
- static
  - options, [1]
- Static pointers
- strict constructor fields, [1]
- strict haskell
- string gaps vs -cpp.
- structure, command-line
- suffixes, file
- suppression
  - of unwanted dump output

## T

- tabs, warning
- Template Haskell
- temporary files
  - keeping, [1], [2]
  - redirecting
- ticky ticky profiling
- ticky-ticky profiling
- time profile
- TMPDIR, [1]
- TMPDIR environment variable
- to be considered trusted.
  - GHC option
- tracing

- trust
- trust check, [1]
- trusted
  - package specification
- trustworthy
- TYPE
- Type defaulting
  - in GHCi
- Type equality constraints
  - kind heterogeneous
- type patterns, unused
- type signatures, missing, [1], [2], [3], [4]
- type signatures, missing, pattern synonyms

## U

- unfolding, controlling, [1], [2], [3], [4]
- Unicode
- UNPACK
- unregisterised compilation
- unused binds, warning, [1], [2], [3]
- unused do binding, warning

- unused foralls, warning
- unused imports, warning
- unused matches, warning
- unused type patterns, warning
- using GHC
- UTF-8
- utilities, Haskell

## V

- verbosity options
- version
  - package specification

- version, of ghc

## W

- WARNING
- warnings
  - deprecations

- When enabled, turn on an extra check for a trustworthy module ``M``,
  - GHC option
- windres

## Y

- Yacc for Haskell