Glasgow Haskell Compiler User's Guide
Navigation
index
next
|
previous
|
GHC 8.6.5 User's Guide
»
Previous topic
9. Using runghc
Next topic
10.1. Using GHC
This Page
Show Source
Quick search
Enter search terms or a module, class or function name.
10. Using GHC
¶
10.1. Using GHC
10.1.1. Getting started: compiling programs
10.1.2. Options overview
10.1.2.1. Command-line arguments
10.1.2.2. Command line options in source files
10.1.2.3. Setting options in GHCi
10.1.3. Static, Dynamic, and Mode options
10.1.4. Meaningful file suffixes
10.1.5. Modes of operation
10.1.5.1. Using
ghc
--make
10.1.5.2. Expression evaluation mode
10.1.5.3. Batch compiler mode
10.1.5.3.1. Overriding the default behaviour for a file
10.1.6. Verbosity options
10.1.7. Platform-specific Flags
10.1.8. Miscellaneous flags
10.2. Warnings and sanity-checking
10.3. Optimisation (code improvement)
10.3.1.
-O*
: convenient “packages” of optimisation flags.
10.3.2.
-f*
: platform-independent flags
10.4. Using Concurrent Haskell
10.5. Using SMP parallelism
10.5.1. Compile-time options for SMP parallelism
10.5.2. RTS options for SMP parallelism
10.5.3. Hints for using SMP parallelism
10.6. Flag reference
10.6.1. Verbosity options
10.6.2. Alternative modes of operation
10.6.3. Which phases to run
10.6.4. Redirecting output
10.6.5. Keeping intermediate files
10.6.6. Temporary files
10.6.7. Finding imports
10.6.8. Interface file options
10.6.9. Recompilation checking
10.6.10. Interactive-mode options
10.6.11. Packages
10.6.12. Language options
10.6.13. Warnings
10.6.14. Optimisation levels
10.6.15. Individual optimisations
10.6.16. Profiling options
10.6.17. Program coverage options
10.6.18. C pre-processor options
10.6.19. Code generation options
10.6.20. Linking options
10.6.21. Plugin options
10.6.22. Replacing phases
10.6.23. Forcing options to particular phases
10.6.24. Platform-specific options
10.6.25. Compiler debugging options
10.6.26. Miscellaneous compiler options
10.7. Running a compiled program
10.7.1. Setting RTS options
10.7.1.1. Setting RTS options on the command line
10.7.1.2. Setting RTS options at compile time
10.7.1.3. Setting RTS options with the
GHCRTS
environment variable
10.7.1.4. “Hooks” to change RTS behaviour
10.7.1.4.1. Runtime events
10.7.1.4.2. Event log output
10.7.2. Miscellaneous RTS options
10.7.3. RTS options to control the garbage collector
10.7.4. RTS options to produce runtime statistics
10.7.5. RTS options for concurrency and parallelism
10.7.6. RTS options for profiling
10.7.7. Tracing
10.7.8. RTS options for hackers, debuggers, and over-interested souls
10.7.9. Getting information about the RTS
10.8. Filenames and separate compilation
10.8.1. Haskell source files
10.8.2. Output files
10.8.3. The search path
10.8.4. Redirecting the compilation output(s)
10.8.5. Keeping Intermediate Files
10.8.6. Redirecting temporary files
10.8.7. Other options related to interface files
10.8.8. The recompilation checker
10.8.9. How to compile mutually recursive modules
10.8.10. Module signatures
10.8.11. Using
make
10.8.12. Dependency generation
10.8.13. Orphan modules and instance declarations
10.9. Packages
10.9.1. Using Packages
10.9.2. The
main
package
10.9.3. Consequences of packages for the Haskell language
10.9.4. Thinning and renaming modules
10.9.5. Package Databases
10.9.5.1. The
GHC_PACKAGE_PATH
environment variable
10.9.5.2. Package environments
10.9.6. Installed package IDs, dependencies, and broken packages
10.9.7. Package management (the
ghc-pkg
command)
10.9.8. Building a package from Haskell source
10.9.9.
InstalledPackageInfo
: a package specification
10.10. GHC Backends
10.10.1. Native Code Generator (
-fasm
)
10.10.2. LLVM Code Generator (
-fllvm
)
10.10.3. C Code Generator (
-fvia-C
)
10.10.4. Unregisterised compilation
10.11. Options related to a particular phase
10.11.1. Replacing the program for one or more phases
10.11.2. Forcing options to a particular phase
10.11.3. Options affecting the C pre-processor
10.11.3.1. Standard CPP macros
10.11.3.2. CPP and string gaps
10.11.4. Options affecting a Haskell pre-processor
10.11.5. Options affecting code generation
10.11.6. Options affecting linking
10.12. Using shared libraries
10.12.1. Building programs that use shared libraries
10.12.2. Shared libraries for Haskell packages
10.12.3. Shared libraries that export a C API
10.12.4. Finding shared libraries at runtime
10.12.4.1. Unix
10.12.4.2. Mac OS X
10.13. Debugging the compiler
10.13.1. Dumping out compiler intermediate structures
10.13.1.1. Front-end
10.13.1.2. Type-checking and renaming
10.13.1.3. Core representation and simplification
10.13.1.4. STG representation
10.13.1.5. C-\- representation
10.13.1.6. LLVM code generator
10.13.1.7. Native code generator
10.13.1.8. Miscellaneous backend dumps
10.13.2. Formatting dumps
10.13.3. Suppressing unwanted information
10.13.4. Checking for consistency
10.13.5. Checking for determinism
Navigation
index
next
|
previous
|
GHC 8.6.5 User's Guide
»