Symbols
- +r, GHCi options
- +RTS, Running a compiled program
- +s, GHCi options
- +t, Using do-notation at the prompt, GHCi options
- -#include, Options affecting the C compiler (if applicable)
- --install-signal-handlers
- RTS
option, Miscellaneous RTS options
- --RTS, Running a compiled program
- --show-iface, Other options related to interface files
- -?, Help and verbosity options, Package management (the ghc-pkg command)
- -A
- RTS option, RTS options to control the garbage collector
- -A<size>
option, Sooner: producing a program more quickly
- -A<size>
RTS option, Faster: producing a program that runs quicker
- -auto, Profiling, Compiler options for profiling
- -auto-all, Profiling, Compiler options for profiling
- -B
- RTS option, RTS options for hackers, debuggers, and over-interested
souls
- -C, Modes of operation, Batch compiler mode
- -c, Modes of operation, Batch compiler mode, Options affecting linking
- RTS option, RTS options to control the garbage collector
- -caf-all, Rules for attributing costs, Compiler options for profiling
- -cpp, Batch compiler mode, Options affecting the C pre-processor
- -cpp
option, Options affecting the C pre-processor
- -cpp
vs string gaps, CPP and string gaps
- -Cs
- RTS option, Using Concurrent Haskell
- -D, Options affecting the C pre-processor
- RTS option, RTS options for hackers, debuggers, and over-interested
souls
- -dcmm-lint, Checking for consistency
- -dcore-lint, Warnings and sanity-checking, Checking for consistency
- -dcore-lint
option, When the compiler “does the wrong thing”
- -ddump options, Dumping out compiler intermediate structures
- -ddump-asm, Dumping out compiler intermediate structures
- -ddump-bcos, Dumping out compiler intermediate structures
- -ddump-cmm, Dumping out compiler intermediate structures
- -ddump-cpranal, Dumping out compiler intermediate structures
- -ddump-cse, Dumping out compiler intermediate structures
- -ddump-deriv, Dumping out compiler intermediate structures
- -ddump-ds, Dumping out compiler intermediate structures
- -ddump-flatC, Dumping out compiler intermediate structures
- -ddump-foreign, Dumping out compiler intermediate structures
- -ddump-hi, Other options related to interface files
- -ddump-hi-diffs, Other options related to interface files
- -ddump-if-trace, Dumping out compiler intermediate structures
- -ddump-inlinings, Dumping out compiler intermediate structures
- -ddump-minimal-imports, Other options related to interface files
- -ddump-occur-anal, Dumping out compiler intermediate structures
- -ddump-opt-cmm, Dumping out compiler intermediate structures
- -ddump-parsed, Dumping out compiler intermediate structures
- -ddump-prep, Dumping out compiler intermediate structures
- -ddump-rn, Dumping out compiler intermediate structures
- -ddump-rn-trace, Dumping out compiler intermediate structures
- -ddump-rules, Dumping out compiler intermediate structures
- -ddump-simpl, Dumping out compiler intermediate structures
- -ddump-simpl-iterations, Dumping out compiler intermediate structures
- -ddump-simpl-stats option, Dumping out compiler intermediate structures
- -ddump-spec, Dumping out compiler intermediate structures
- -ddump-splices, Dumping out compiler intermediate structures
- -ddump-stg, Dumping out compiler intermediate structures
- -ddump-stranal, Dumping out compiler intermediate structures
- -ddump-tc, Dumping out compiler intermediate structures
- -ddump-tc-trace, Dumping out compiler intermediate structures
- -ddump-types, Dumping out compiler intermediate structures
- -ddump-workwrap, Dumping out compiler intermediate structures
- -debug, Options affecting linking
- -dfaststring-stats, Dumping out compiler intermediate structures
- -dppr-debug, Dumping out compiler intermediate structures
- -dppr-user-length, Dumping out compiler intermediate structures
- -dshow-passes, Dumping out compiler intermediate structures
- -dshow-rn-stats, Dumping out compiler intermediate structures
- -dshow-unused-imports, Dumping out compiler intermediate structures
- -dstg-lint, Checking for consistency
- -dverbose-core2core, Dumping out compiler intermediate structures
- -dverbose-stg2stg, Dumping out compiler intermediate structures
- -dynamic, Options affecting linking
- -E, Modes of operation, Batch compiler mode
- -E
option, Batch compiler mode
- -f, Package management (the ghc-pkg command)
- RTS option, Running a compiled program
- -F, Options affecting a Haskell pre-processor
- RTS option, RTS options to control the garbage collector
- -f* options (GHC), -f*: platform-independent flags
- -fallow-incoherent-instances, Language options, Overlapping instances
- -fallow-overlapping-instances, Language options, Overlapping instances
- -fallow-undecidable-instances, Language options
- -fallow-undecidable-instances
option, Undecidable instances
- -farrows, Language options
- -fasm, Options affecting code generation
- -fcontext-stack, Language options
- -ferror-spans, Help and verbosity options
- -fexcess-precision, -f*: platform-independent flags
- -fext-core, Generating and compiling External Core Files
- -fextended-default-rules, Language options
- -fffi, Language options,
Foreign function interface (FFI)
- -ffi, Language options
- -fforce-recomp, The recompilation checker
- -fgenerics, Language options
- -fglasgow-exts, Language options,
Foreign function interface (FFI)
- -fignore-asserts, -f*: platform-independent flags, Assertions
- -finline-phase, Language options
- -fmono-pat-binds, Monomorphic pattern bindings
- -fno-* options (GHC), -f*: platform-independent flags
- -fno-code, Options affecting code generation
- -fno-cse, -f*: platform-independent flags
- -fno-force-recomp, The recompilation checker
- -fno-full-laziness, -f*: platform-independent flags
- -fno-implicit-prelude
option, Language options, When the compiler “does the wrong thing”
- -fno-mono-pat-binds, Monomorphic pattern bindings
- -fno-monomorphism-restriction, Switching off the dreaded Monomorphism Restriction
- -fno-print-bind-result, Using do-notation at the prompt
- -fno-state-hack, -f*: platform-independent flags
- -fno-strictness, -f*: platform-independent flags
- -fno-strictness
anti-option, Sooner: producing a program more quickly
- -fPIC, Options affecting code generation
- -fprint-bind-result, Using do-notation at the prompt
- -framework, Options affecting linking
- -framework-path, Options affecting linking
- -fth, Syntax
- -funbox-strict-fields, -f*: platform-independent flags
- -funfolding-creation-threshold, -f*: platform-independent flags
- -funfolding-update-in-place, -f*: platform-independent flags
- -funfolding-use-threshold, -f*: platform-independent flags
- -funfolding-use-threshold0
option, Smaller: producing a program that is smaller
- -fvia-C, Options affecting code generation
- -fvia-C
option, Sooner: producing a program more quickly
- -fwarn-deprecations, Warnings and sanity-checking
- -fwarn-duplicate-exports, Warnings and sanity-checking
- -fwarn-hi-shadowing, Warnings and sanity-checking
- -fwarn-incomplete-patterns, Warnings and sanity-checking
- -fwarn-incomplete-record-updates, Warnings and sanity-checking
- -fwarn-missing-fields, Warnings and sanity-checking
- -fwarn-missing-methods, Warnings and sanity-checking
- -fwarn-missing-signatures, Warnings and sanity-checking
- -fwarn-missing-signatures
option, Faster: producing a program that runs quicker
- -fwarn-name-shadowing, Warnings and sanity-checking
- -fwarn-orphans, Warnings and sanity-checking
- -fwarn-overlapping-patterns, Warnings and sanity-checking
- -fwarn-simple-patterns, Warnings and sanity-checking
- -fwarn-type-defaults, Warnings and sanity-checking
- -fwarn-unused-binds, Warnings and sanity-checking
- -fwarn-unused-imports, Warnings and sanity-checking
- -fwarn-unused-matches, Warnings and sanity-checking
- -G
- RTS option, RTS options to control the garbage collector
- -G RTS option, Thriftier: producing a program that gobbles less heap space
- -H, Help and verbosity options
- RTS option, RTS options to control the garbage collector
- -h<break-down>, hp2ps––heap profile to PostScript
- -hb
- RTS option, RTS options for heap profiling
- -hc
- RTS option, RTS options for heap profiling
- -hC
- RTS option, RTS options for heap profiling
- -hcsuf, Redirecting the compilation output(s)
- -hd
- RTS option, RTS options for heap profiling
- -hi-diffs
option, When your program “does the wrong thing”
- -hide-package, Using Packages
- -hidir, Redirecting the compilation output(s)
- -hisuf, Redirecting the compilation output(s)
- -hm
- RTS option, RTS options for heap profiling
- -hr
- RTS option, RTS options for heap profiling
- -hy
- RTS option, RTS options for heap profiling
- -I, Options affecting the C pre-processor
- RTS option, RTS options to control the garbage collector
- -i, RTS options for heap profiling
- -idirs
, The search path
- -ignore-dot-ghci, The .ghci file
- -ignore-package, Using Packages
- -ignore-scc, Compiler options for profiling
- -k
- RTS option, RTS options to control the garbage collector
- -K
- RTS option, RTS options to control the garbage collector
- -keep-hc-files, Keeping Intermediate Files
- -keep-raw-s-files, Keeping Intermediate Files
- -keep-s-files, Keeping Intermediate Files
- -keep-tmp-files, Keeping Intermediate Files
- -l, Options affecting linking
- -L, Options affecting linking
- -m
- RTS option, RTS options to control the garbage collector
- -M
- RTS option, RTS options to control the garbage collector
- -m* options, Platform-specific Flags
- -M<size>
option, Sooner: producing a program more quickly
- -M<size>
RTS option, Faster: producing a program that runs quicker
- -main-is, Options affecting linking
- -monly-N-regs
option (iX86 only), Platform-specific Flags
- -n, Help and verbosity options
- -no-hs-main, Options affecting linking, Using your own main()
- -no-user-package-conf, Package Databases
- -Nx
- RTS option, Options to enable SMP parallelism
- -O, FAQ and Things To Watch Out For, Assertions
- -o, Redirecting the compilation output(s)
- -O option, -O*: convenient “packages” of optimisation flags.
- -O* not specified, -O*: convenient “packages” of optimisation flags.
- -O0, -O*: convenient “packages” of optimisation flags.
- -O1 option, -O*: convenient “packages” of optimisation flags.
- -O2 option, -O*: convenient “packages” of optimisation flags.
- -odir, Redirecting the compilation output(s)
- -Ofile <file> option, -O*: convenient “packages” of optimisation flags.
- -ohi, Redirecting the compilation output(s)
- -opta, Forcing options to a particular phase
- -optc, Forcing options to a particular phase
- -optdep, Forcing options to a particular phase
- -optdll, Forcing options to a particular phase
- -optF, Forcing options to a particular phase
- -optL, Forcing options to a particular phase
- -optl, Forcing options to a particular phase
- -optm, Forcing options to a particular phase
- -optP, Forcing options to a particular phase
- -osuf, Redirecting the compilation output(s), Using Template Haskell with Profiling
- -p, Time and allocation profiling
- RTS
option, Profiling
- -P, Cost centres and cost-centre stacks, Time and allocation profiling
- -package, Using Packages
, Options affecting linking
- -package-conf, Package Databases, Package management (the ghc-pkg command)
- -package-name
- option, Building a package from Haskell source
- -pgma, Replacing the program for one or more phases, Replacing phases
- -pgmc, Replacing the program for one or more phases, Replacing phases
- -pgmdll, Replacing the program for one or more phases, Replacing phases
- -pgmF, Replacing the program for one or more phases, Replacing phases
- -pgmL, Replacing the program for one or more phases, Replacing phases
- -pgml, Replacing the program for one or more phases, Replacing phases
- -pgmm, Replacing the program for one or more phases
- -pgmP, Replacing the program for one or more phases, Replacing phases
- -pgms, Replacing the program for one or more phases
- -prof, Profiling, Compiler options for profiling, Using Template Haskell with Profiling
- -px, Time and allocation profiling, Graphical time/allocation profile
- -r
- RTS option, RTS options for hackers, debuggers, and over-interested
souls
- -r RTS option, Using “ticky-ticky” profiling (for implementors)
- -read-dot-ghci, The .ghci file
- -Rghc-timing, Help and verbosity options
- -RTS, Running a compiled program
- -S, Modes of operation, Batch compiler mode
- RTS option, RTS options to control the garbage collector
- -s
- RTS option, RTS options to control the garbage collector
- -S RTS
option, Faster: producing a program that runs quicker
- -split-objs, Options affecting linking
- -Sstderr RTS option, Thriftier: producing a program that gobbles less heap space
- -static, Options affecting linking
- -stubdir, Redirecting the compilation output(s)
- -t
- RTS option, RTS options to control the garbage collector
- -threaded, Options affecting linking
- -ticky, RTS options for hackers, debuggers, and over-interested
souls
- -tmpdir, Redirecting temporary files
- -tmpdir
<dir> option, Redirecting temporary files
- -U, Options affecting the C pre-processor
- -unreg, Unregisterised compilation
- -v, Help and verbosity options, Sooner: producing a program more quickly
- -V, Help and verbosity options, Package management (the ghc-pkg command)
- RTS
option, Miscellaneous RTS options
- -w, Warnings and sanity-checking
- -W option, Warnings and sanity-checking
- -Wall, Warnings and sanity-checking
- -Werror, Warnings and sanity-checking
- -x, Overriding the default behaviour for a file
- -xc
- RTS option, RTS options for hackers, debuggers, and over-interested
souls, Time and allocation profiling
- -xt
- RTS option, RTS options for heap profiling
- -Z
- RTS option, RTS options for hackers, debuggers, and over-interested
souls
- .ghci
- file, The .ghci file
- .hc files, saving, Keeping Intermediate Files
- .hi files, Output files
- .o files, Output files
- .s files, saving, Keeping Intermediate Files
- :!, GHCi commands
- :?, GHCi commands
- :add, GHCi commands
- :browse, GHCi commands
- :cd, GHCi commands
- :def, GHCi commands
- :edit, GHCi commands
- :etags, GHCi commands
- :help, GHCi commands
- :info, GHCi commands
- :kind, GHCi commands
- :load, Loading source files, GHCi commands
- :main, GHCi commands
- :module, GHCi commands
- :quit, GHCi commands
- :reload, Making changes and recompilation, GHCi commands
- :set, GHCi commands, The :set command
- :set args, GHCi commands
- :set prog, GHCi commands
- :show bindings, GHCi commands
- :show modules, GHCi commands
- :type, GHCi commands
- :undef, GHCi commands
- :unset, GHCi commands
- __CONCURRENT_HASKELL__, Options affecting the C pre-processor
- __GLASGOW_HASKELL__, GHC version numbering policy, Options affecting the C pre-processor
- __HASKELL1__, Options affecting the C pre-processor
- __HASKELL98__, Options affecting the C pre-processor
- __HASKELL__=98, Options affecting the C pre-processor
- __PARALLEL_HASKELL__, Options affecting the C pre-processor
- ––auto-ghci-libs, Package management (the ghc-pkg command)
-
––force
, Package management (the ghc-pkg command)
- ––global, Package management (the ghc-pkg command)
- ––help, Help and verbosity options, Package management (the ghc-pkg command)
- ––interactive, Invoking GHCi
- ––make, Modes of operation, Using ghc ––make
- ––mk-dll, Creating a DLL
- ––numeric-version, Help and verbosity options
- ––print-libdir, Help and verbosity options
- ––user, Package management (the ghc-pkg command)
- ––version, Help and verbosity options, Package management (the ghc-pkg command)
B
- Bang patterns, Bang patterns
- binary distribution, layout, GHC binary distributions
- binary installations, Installing GHC
- binds, unused, Warnings and sanity-checking
- bug reports
- contents, What to put in a bug report
- bugs
- reporting, Reporting bugs in GHC
- bundles of binary stuff, GHC binary distributions
- bundles, binary, What bundles there are
- bundles, gransim, What bundles there are
- bundles, parallel, What bundles there are
- bundles, profiling, What bundles there are
- bundles, ticky-ticky, What bundles there are
C
- C calls, function headers, Using function headers
- C compiler options, Options affecting the C compiler (if applicable)
- C pre-processor options, Options affecting the C pre-processor
- CAFs
- in GHCi, GHCi options
- category
- package specification,
InstalledPackageInfo: a package specification
- cc-options
- package specification,
InstalledPackageInfo: a package specification
- Char
- size of, GHC's interpretation of undefined behaviour in
Haskell 98
- command-line
- arguments, command-line arguments
- compacting garbage collection, RTS options to control the garbage collector
- compiled code
- in GHCi, Loading compiled code
- compiler problems, When the compiler “does the wrong thing”
- compiling faster, Sooner: producing a program more quickly
- Concurrent Haskell
- using, Using Concurrent Haskell
- configure, Installing
- consistency checks, Checking for consistency
- Constant Applicative Form (see CAFs)
- constructor fields, strict, -f*: platform-independent flags
- copyright
- package specification,
InstalledPackageInfo: a package specification
- CORE pragma, CORE pragma
- Core syntax, how to read, How to read Core syntax (from some -ddump
flags)
- core, annotation, CORE pragma
- cost centres
- automatically inserting, Compiler options for profiling
- cost-centre profiling, Profiling
- cpp, pre-processing with, Options affecting the C pre-processor
- Creating a Win32 DLL, Creating a DLL
- CTAGS for Haskell, Ctags and Etags for Haskell: hasktags
D
- debugging options (for GHC), Debugging the compiler
- defaulting mechanism, warning, Warnings and sanity-checking
- dependencies in Makefiles, Dependency generation
- dependency-generation mode, Modes of operation
- depends
- package specification,
InstalledPackageInfo: a package specification
- DEPRECATED, DEPRECATED pragma
- deprecations, Warnings and sanity-checking
- description
- package specification,
InstalledPackageInfo: a package specification
- directories, installation, Installing
- directory layout (binary distributions), GHC binary distributions
- do-notation
- in GHCi, Using do-notation at the prompt
- dumping GHC intermediates, Dumping out compiler intermediate structures
- duplicate exports, warning, Warnings and sanity-checking
- dynamic
- options, Setting GHC command-line options in GHCi, Static, Dynamic, and Mode options
E
- encoding, Haskell source files
- Environment variable
- GHC_PACKAGE_PATH, The GHC_PACKAGE_PATH environment variable
- environment variable
- for
setting RTS options, Setting global RTS options
- eval mode, Modes of operation
- export lists, duplicates, Warnings and sanity-checking
- exposed
- package specification,
InstalledPackageInfo: a package specification
- exposed-modules
- package specification,
InstalledPackageInfo: a package specification
- extensions
- options controlling, Language options
- extensions, GHC, GHC Language Features
- extra-libraries
- package specification,
InstalledPackageInfo: a package specification
F
- faster compiling, Sooner: producing a program more quickly
- faster programs, how to produce, Faster: producing a program that runs quicker
- FFI
- GHCi support, Using GHCi
- fields, missing, Warnings and sanity-checking
- file suffixes for GHC, Meaningful file suffixes
- filenames, Haskell source files
- of modules, Modules vs. filenames
- finding interface files, The search path
- floating-point
exceptions, GHC's interpretation of undefined behaviour in
Haskell 98
- forcing GHC-phase options, Forcing options to a particular phase
- foreign export
- with GHC, Using foreign export and foreign import ccall "wrapper" with GHC
- Foreign Function Interface
- GHCi support, Using GHCi
- foreign import
ccall "wrapper"
- with GHC, Using foreign import ccall "wrapper" with GHC
- framework-dirs
- package specification,
InstalledPackageInfo: a package specification
- frameworks
- package specification,
InstalledPackageInfo: a package specification
- fromInteger, GHC's interpretation of undefined behaviour in
Haskell 98
- fromIntegral, GHC's interpretation of undefined behaviour in
Haskell 98
G
- garbage collection
- compacting, RTS options to control the garbage collector
- garbage collector
- options, RTS options to control the garbage collector
- GCC options, Options affecting the C compiler (if applicable)
- generations, number of, RTS options to control the garbage collector
- getArgs, GHCi commands
- getProgName, GHCi commands
- GHC vs the Haskell 98 language, Haskell 98 vs. Glasgow Haskell: language non-compliance
- GHC, using, Using GHC
- GHCi, Using GHCi
- ghci, Modes of operation
- GHCRTS, Setting global RTS options
- GHC_PACKAGE_PATH, The GHC_PACKAGE_PATH environment variable
- ghc_rts_opts, “Hooks” to change RTS behaviour
- Glasgow Haskell mailing lists, Meta-information: Web sites, mailing lists, etc.
- Glasgow Parallel Haskell, Parallel Haskell
- gransim bundles, What bundles there are
H
- haddock-html
- package specification,
InstalledPackageInfo: a package specification
- haddock-interfaces
- package specification,
InstalledPackageInfo: a package specification
- Happy, “Yacc for Haskell”: happy
- happy parser
generator, “Yacc for Haskell”: happy
- Haskell 98 language vs GHC, Haskell 98 vs. Glasgow Haskell: language non-compliance
- hasktags, Ctags and Etags for Haskell: hasktags
- heap profiles, hp2ps––heap profile to PostScript
- heap size, factor, RTS options to control the garbage collector
- heap size, maximum, RTS options to control the garbage collector
- heap size, suggested, RTS options to control the garbage collector
- heap space, using less, Thriftier: producing a program that gobbles less heap space
- heap, minimum free, RTS options to control the garbage collector
- help options, Help and verbosity options
- hidden-modules
- package specification,
InstalledPackageInfo: a package specification
- homepage
- package specification,
InstalledPackageInfo: a package specification
- hooks
- RTS, “Hooks” to change RTS behaviour
- hp2ps, hp2ps––heap profile to PostScript
- hp2ps
program, hp2ps––heap profile to PostScript
- hs-boot
files, How to compile mutually recursive modules
- hs-libraries
- package specification,
InstalledPackageInfo: a package specification
- hsc2hs, Writing Haskell interfaces to C code:
hsc2hs
- hs_add_root, Using your own main()
- Hugs, Using GHCi
- hugs-options
- package specification,
InstalledPackageInfo: a package specification
I
- idle GC, RTS options to control the garbage collector
- import-dirs
- package specification,
InstalledPackageInfo: a package specification
- importing,
hi-boot files, How to compile mutually recursive modules
- imports, unused, Warnings and sanity-checking
- improvement, code, Optimisation (code improvement)
- in-place installation, Installing
- include-dirs
- package specification,
InstalledPackageInfo: a package specification
- include-file options, Options affecting the C compiler (if applicable)
- includes
- package specification,
InstalledPackageInfo: a package specification
- incomplete patterns, warning, Warnings and sanity-checking
- incomplete record updates, warning, Warnings and sanity-checking
- INLINE, INLINE pragma
- INLINE
pragma, INLINE pragma
- inlining, controlling, -f*: platform-independent flags
- installation directories, Installing
- installation, of binaries, Installing GHC
- installing in-place, Installing
- Int
- size of, GHC's interpretation of undefined behaviour in
Haskell 98
- interactive (see GHCi)
- interactive mode, Modes of operation
- Interface files, GHC binary distributions
- interface files, Output files
- interface files, finding them, The search path
- interface files, options, Other options related to interface files
- intermediate code generation, Generating and compiling External Core Files
- intermediate files, saving, Keeping Intermediate Files
- intermediate passes, output, Dumping out compiler intermediate structures
- interpreter (see GHCi)
- invoking
- GHCi, Invoking GHCi
- it, The it variable
L
- language
- option, Language options
- LANGUAGE
- pragma, LANGUAGE pragma
- language, GHC, GHC Language Features
- Latin-1, Haskell source files
- ld options, Options affecting linking
- ld-options
- package specification,
InstalledPackageInfo: a package specification
- lhs suffix, Meaningful file suffixes
- libdir, Help and verbosity options
- libraries
- with GHCi, Extra libraries
- library-dirs
- package specification,
InstalledPackageInfo: a package specification
- license-file
- package specification,
InstalledPackageInfo: a package specification
- LINE
- pragma, LINE pragma
- link, installed as ghc, Installing
- linker options, Options affecting linking
- linking Haskell libraries with foreign code, Options affecting linking
- lint, Checking for consistency
- list comprehensions
- parallel, Parallel List Comprehensions
M
- machine-specific options, Platform-specific Flags
- mailing lists, Glasgow Haskell, Meta-information: Web sites, mailing lists, etc.
- maintainer
- package specification,
InstalledPackageInfo: a package specification
- make, Using make
- make and recompilation, Filenames and separate compilation
- make mode, Modes of operation
- Makefile dependencies, Dependency generation
- Makefiles
- avoiding, Using ghc ––make
- MallocFailHook, “Hooks” to change RTS behaviour
- matches, unused, Warnings and sanity-checking
- memory, using less heap, Thriftier: producing a program that gobbles less heap space
- methods, missing, Warnings and sanity-checking
- missing fields, warning, Warnings and sanity-checking
- missing methods, warning, Warnings and sanity-checking
- mode
- options, Static, Dynamic, and Mode options
- module system, recursion, How to compile mutually recursive modules
- modules
- and filenames, Modules vs. filenames
- multicore, Options affecting linking
- multiprocessor, Options affecting linking
O
- object files, Output files
- optimisation, Optimisation (code improvement)
- optimise
- aggressively, -O*: convenient “packages” of optimisation flags.
- normally, -O*: convenient “packages” of optimisation flags.
- optimising, customised, -O*: convenient “packages” of optimisation flags.
- options
- for profiling, Compiler options for profiling
- GHCi, GHCi options
- language, Language options
- OPTIONS_GHC, OPTIONS_GHC pragma
- OPTIONS_GHC
pragma, command line options in source files
- orphan instance, Orphan modules and instance declarations
- orphan instances, warning, Warnings and sanity-checking
- orphan module, Orphan modules and instance declarations
- orphan rule, Orphan modules and instance declarations
- orphan rules, warning, Warnings and sanity-checking
- OutOfHeapHook, “Hooks” to change RTS behaviour
- output-directing options, Redirecting the compilation output(s)
- overflow
- Int, GHC's interpretation of undefined behaviour in
Haskell 98
- overlapping patterns, warning, Warnings and sanity-checking
- overloading, death to, Faster: producing a program that runs quicker, SPECIALIZE pragma, SPECIALIZE instance pragma
P
- package-url
- package specification,
InstalledPackageInfo: a package specification
- packages,
Packages
- building, Building a package from Haskell source
- management, Package management (the ghc-pkg command)
- using, Using Packages
- with GHCi, Packages
- parallel bundles, What bundles there are
- parallel list comprehensions, Parallel List Comprehensions
- parallelism, Options affecting linking, Using SMP parallelism, Concurrent and Parallel Haskell
- parser generator for Haskell, “Yacc for Haskell”: happy
- Pattern guards (Glasgow extension), Pattern guards
- patterns, incomplete, Warnings and sanity-checking
- patterns, overlapping, Warnings and sanity-checking
- phases, changing, Replacing the program for one or more phases
- platform-specific options, Platform-specific Flags
- postscript, from heap profiles, hp2ps––heap profile to PostScript
- pragma, Pragmas
- LANGUAGE, LANGUAGE pragma
- LINE, LINE pragma
- OPTIONS_GHC, OPTIONS_GHC pragma
- pragma, CORE, CORE pragma
- pragma, RULES, Rewrite rules
- pragma, SPECIALIZE, SPECIALIZE pragma
- pre-processing: cpp, Options affecting the C pre-processor
- pre-processing: custom, Options affecting a Haskell pre-processor
- Pre-processor options, Options affecting a Haskell pre-processor
- problems, What to do when something goes wrong
- problems running your program, When your program “does the wrong thing”
- problems with the compiler, When the compiler “does the wrong thing”
- profiling, Profiling
- options, Compiler options for profiling
- ticky ticky, RTS options for hackers, debuggers, and over-interested
souls
- with Template Haskell, Using Template Haskell with Profiling
- profiling bundles, What bundles there are
- profiling,
ticky-ticky, Using “ticky-ticky” profiling (for implementors)
- prompt
- GHCi, Introduction to GHCi
R
- reading Core syntax, How to read Core syntax (from some -ddump
flags)
- recompilation checker, Filenames and separate compilation, The recompilation checker
- record updates, incomplete, Warnings and sanity-checking
- recursion, between modules, How to compile mutually recursive modules
- redirecting compilation output, Redirecting the compilation output(s)
- reporting bugs, Reporting bugs in GHC
- rewrite rules, Rewrite rules
- RTS behaviour, changing, “Hooks” to change RTS behaviour
- RTS hooks, “Hooks” to change RTS behaviour
- RTS options, Running a compiled program
- from the environment, Setting global RTS options
- garbage collection, RTS options to control the garbage collector
- RTS options, concurrent, Using Concurrent Haskell
- RTS options, hacking/debugging, RTS options for hackers, debuggers, and over-interested
souls
- RULES pragma, Rewrite rules
- running, compiled program, Running a compiled program
- runtime control of Haskell programs, Running a compiled program
S
- sanity-checking options, Warnings and sanity-checking
- search path, The search path
- segmentation
fault, When your program “does the wrong thing”
- separate compilation, Using ghc ––make, Filenames and separate compilation
- shadowing
- interface files, Warnings and sanity-checking
- shadowing, warning, Warnings and sanity-checking
- shell commands
- in GHCi, GHCi commands
- Show class, Type defaulting in GHCi
- smaller programs, how to produce, Smaller: producing a program that is smaller
- SMP, Options affecting linking, Using SMP parallelism, Parallel Haskell
- source-file options, command line options in source files
- space-leaks, avoiding, Thriftier: producing a program that gobbles less heap space
- SPECIALIZE pragma, Faster: producing a program that runs quicker, SPECIALIZE pragma, SPECIALIZE instance pragma
- specifying your own main function, Options affecting linking
- stability
- package specification,
InstalledPackageInfo: a package specification
- stack, maximum size, RTS options to control the garbage collector
- stack, minimum size, RTS options to control the garbage collector
- StackOverflowHook, “Hooks” to change RTS behaviour
- startup
- files, GHCi, The .ghci file
- statements
- in GHCi, Using do-notation at the prompt
- static
- options, Setting GHC command-line options in GHCi, Static, Dynamic, and Mode options
- strict constructor fields, -f*: platform-independent flags
- string
gaps vs -cpp, CPP and string gaps
- structure, command-line, command-line arguments
- suffixes, file, Meaningful file suffixes
T
- temporary files
- keeping, Keeping Intermediate Files
- redirecting, Redirecting temporary files
- testing a new GHC, Testing that GHC seems to be working
- ticky ticky profiling, RTS options for hackers, debuggers, and over-interested
souls
- ticky-ticky bundles, What bundles there are
- ticky-ticky profiling, Using “ticky-ticky” profiling (for implementors)
- time profile, Time and allocation profiling
- TMPDIR
environment variable, Redirecting temporary files
- Type default, Type defaulting in GHCi
- type signatures, missing, Warnings and sanity-checking
U
- Unboxed types (Glasgow extension), Unboxed types
- unfolding, controlling, -f*: platform-independent flags
- unicode, Haskell source files
- UNPACK, UNPACK pragma
- unregisterised compilation, Unregisterised compilation
- unused binds, warning, Warnings and sanity-checking
- unused imports, warning, Warnings and sanity-checking
- unused matches, warning, Warnings and sanity-checking
- using GHC, Using GHC
- UTF-8, Haskell source files
- utilities, Haskell, Other Haskell utility programs