Spec-Zone.ru › Haskell 9

5. Using GHC

  • 5.1. Using GHC
    • 5.1.1. Getting started: compiling programs
    • 5.1.2. Options overview
      • 5.1.2.1. Command-line arguments
      • 5.1.2.2. Command line options in source files
      • 5.1.2.3. Setting options in GHCi
    • 5.1.3. Dynamic and Mode options
    • 5.1.4. Meaningful file suffixes
    • 5.1.5. Modes of operation
      • 5.1.5.1. Using ghc --make
      • 5.1.5.2. GHC Jobserver Protocol
      • 5.1.5.3. Multiple Home Units
        • 5.1.5.3.1. The home unit closure requirement
      • 5.1.5.4. Expression evaluation mode
      • 5.1.5.5. Batch compiler mode
        • 5.1.5.5.1. Overriding the default behaviour for a file
    • 5.1.6. Verbosity options
    • 5.1.7. Platform-specific Flags
    • 5.1.8. Haddock
    • 5.1.9. Miscellaneous flags
      • 5.1.9.1. Other environment variables
  • 5.2. Warnings and sanity-checking
    • 5.2.1. Warning groups
    • 5.2.2. Treating warnings as fatal errors
    • 5.2.3. Individual warning options
  • 5.3. Optimisation (code improvement)
    • 5.3.1. -O*: convenient “packages” of optimisation flags.
    • 5.3.2. -f*: platform-independent flags
  • 5.4. Using Concurrent Haskell
  • 5.5. Using SMP parallelism
    • 5.5.1. Compile-time options for SMP parallelism
    • 5.5.2. RTS options for SMP parallelism
    • 5.5.3. Hints for using SMP parallelism
  • 5.6. Flag reference
    • 5.6.1. Verbosity options
    • 5.6.2. Alternative modes of operation
    • 5.6.3. Which phases to run
    • 5.6.4. Redirecting output
    • 5.6.5. Keeping intermediate files
    • 5.6.6. Temporary files
    • 5.6.7. Finding imports
    • 5.6.8. Interface file options
    • 5.6.9. Extended interface file options
    • 5.6.10. Recompilation checking
    • 5.6.11. Interactive-mode options
    • 5.6.12. Packages
    • 5.6.13. Language options
    • 5.6.14. Warnings
    • 5.6.15. Optimisation levels
    • 5.6.16. Individual optimisations
    • 5.6.17. Profiling options
    • 5.6.18. Program coverage options
    • 5.6.19. C pre-processor options
    • 5.6.20. Code generation options
    • 5.6.21. Linking options
    • 5.6.22. Plugin options
    • 5.6.23. Replacing phases
    • 5.6.24. Forcing options to particular phases
    • 5.6.25. Platform-specific options
    • 5.6.26. Compiler debugging options
    • 5.6.27. Miscellaneous compiler options
  • 5.7. Runtime system (RTS) options
    • 5.7.1. Setting RTS options
      • 5.7.1.1. Setting RTS options on the command line
      • 5.7.1.2. Setting RTS options at compile time
      • 5.7.1.3. Setting RTS options with the GHCRTS environment variable
      • 5.7.1.4. “Hooks” to change RTS behaviour
        • 5.7.1.4.1. Runtime events
        • 5.7.1.4.2. Event log output
    • 5.7.2. Miscellaneous RTS options
    • 5.7.3. RTS options to control the garbage collector
    • 5.7.4. RTS options to produce runtime statistics
    • 5.7.5. RTS options for concurrency and parallelism
    • 5.7.6. RTS options for profiling
    • 5.7.7. Tracing
    • 5.7.8. RTS options for Haskell program coverage
    • 5.7.9. RTS options for hackers, debuggers, and over-interested souls
    • 5.7.10. Getting information about the RTS
  • 5.8. Filenames and separate compilation
    • 5.8.1. Haskell source files
    • 5.8.2. Output files
    • 5.8.3. The search path
    • 5.8.4. Redirecting the compilation output(s)
    • 5.8.5. Keeping Intermediate Files
    • 5.8.6. Redirecting temporary files
    • 5.8.7. Other options related to interface files
    • 5.8.8. Options related to extended interface files
    • 5.8.9. The recompilation checker
      • 5.8.9.1. Recompilation for Template Haskell and Plugins
    • 5.8.10. Mutually recursive modules and hs-boot files
    • 5.8.11. Module signatures
    • 5.8.12. Using make
    • 5.8.13. Dependency generation
    • 5.8.14. Orphan modules and instance declarations
  • 5.9. Packages
    • 5.9.1. Using Packages
    • 5.9.2. The main package
    • 5.9.3. Consequences of packages for the Haskell language
    • 5.9.4. Thinning and renaming modules
    • 5.9.5. Package Databases
      • 5.9.5.1. The GHC_PACKAGE_PATH environment variable
      • 5.9.5.2. Package environments
    • 5.9.6. Installed package IDs, dependencies, and broken packages
    • 5.9.7. Package management (the ghc-pkg command)
    • 5.9.8. Building a package from Haskell source
    • 5.9.9. InstalledPackageInfo: a package specification
    • 5.9.10. Linking against C++ libraries
  • 5.10. GHC Backends
    • 5.10.1. Native Code Generator (-fasm)
    • 5.10.2. LLVM Code Generator (-fllvm)
    • 5.10.3. C Code Generator (-fvia-C)
    • 5.10.4. JavaScript Code Generator
    • 5.10.5. Unregisterised compilation
  • 5.11. Options related to a particular phase
    • 5.11.1. Replacing the program for one or more phases
    • 5.11.2. Forcing options to a particular phase
    • 5.11.3. Options affecting the C pre-processor
      • 5.11.3.1. Standard CPP macros
      • 5.11.3.2. CPP and string gaps
    • 5.11.4. Options affecting a Haskell pre-processor
    • 5.11.5. Options affecting code generation
    • 5.11.6. Options affecting linking
  • 5.12. Using shared libraries
    • 5.12.1. Building programs that use shared libraries
    • 5.12.2. Shared libraries for Haskell packages
    • 5.12.3. Shared libraries that export a C API
    • 5.12.4. Finding shared libraries at runtime
      • 5.12.4.1. Unix
      • 5.12.4.2. Mac OS X
  • 5.13. Debugging the compiler
    • 5.13.1. Dumping out compiler intermediate structures
      • 5.13.1.1. Front-end
      • 5.13.1.2. Type-checking and renaming
      • 5.13.1.3. Core representation and simplification
      • 5.13.1.4. STG representation
      • 5.13.1.5. C-\- representation
      • 5.13.1.6. LLVM code generator
      • 5.13.1.7. C code generator
      • 5.13.1.8. Native code generator
      • 5.13.1.9. JavaScript code generator
      • 5.13.1.10. Miscellaneous backend dumps
    • 5.13.2. Formatting dumps
    • 5.13.3. Suppressing unwanted information
    • 5.13.4. Checking for consistency
    • 5.13.5. Checking for determinism
    • 5.13.6. Other

© 2002–2007 The University Court of the University of Glasgow. All rights reserved.
Licensed under the Glasgow Haskell Compiler License.
https://downloads.haskell.org/~ghc/9.14.1/docs/users_guide/usage.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API