Spec-Zone.ru › Haskell 8

7. Using GHC

  • 7.1. Using GHC
    • 7.1.1. Getting started: compiling programs
    • 7.1.2. Options overview
      • 7.1.2.1. Command-line arguments
      • 7.1.2.2. Command line options in source files
      • 7.1.2.3. Setting options in GHCi
    • 7.1.3. Dynamic and Mode options
    • 7.1.4. Meaningful file suffixes
    • 7.1.5. Modes of operation
      • 7.1.5.1. Using ghc --make
      • 7.1.5.2. Expression evaluation mode
      • 7.1.5.3. Batch compiler mode
        • 7.1.5.3.1. Overriding the default behaviour for a file
    • 7.1.6. Verbosity options
    • 7.1.7. Platform-specific Flags
    • 7.1.8. Miscellaneous flags
      • 7.1.8.1. Other environment variables
  • 7.2. Warnings and sanity-checking
  • 7.3. Optimisation (code improvement)
    • 7.3.1. -O*: convenient “packages” of optimisation flags.
    • 7.3.2. -f*: platform-independent flags
  • 7.4. Using Concurrent Haskell
  • 7.5. Using SMP parallelism
    • 7.5.1. Compile-time options for SMP parallelism
    • 7.5.2. RTS options for SMP parallelism
    • 7.5.3. Hints for using SMP parallelism
  • 7.6. Flag reference
    • 7.6.1. Verbosity options
    • 7.6.2. Alternative modes of operation
    • 7.6.3. Which phases to run
    • 7.6.4. Redirecting output
    • 7.6.5. Keeping intermediate files
    • 7.6.6. Temporary files
    • 7.6.7. Finding imports
    • 7.6.8. Interface file options
    • 7.6.9. Recompilation checking
    • 7.6.10. Interactive-mode options
    • 7.6.11. Packages
    • 7.6.12. Language options
    • 7.6.13. Warnings
    • 7.6.14. Optimisation levels
    • 7.6.15. Individual optimisations
    • 7.6.16. Profiling options
    • 7.6.17. Program coverage options
    • 7.6.18. C pre-processor options
    • 7.6.19. Code generation options
    • 7.6.20. Linking options
    • 7.6.21. Plugin options
    • 7.6.22. Replacing phases
    • 7.6.23. Forcing options to particular phases
    • 7.6.24. Platform-specific options
    • 7.6.25. Compiler debugging options
    • 7.6.26. Miscellaneous compiler options
  • 7.7. Running a compiled program
    • 7.7.1. Setting RTS options
      • 7.7.1.1. Setting RTS options on the command line
      • 7.7.1.2. Setting RTS options at compile time
      • 7.7.1.3. Setting RTS options with the GHCRTS environment variable
      • 7.7.1.4. “Hooks” to change RTS behaviour
        • 7.7.1.4.1. Runtime events
        • 7.7.1.4.2. Event log output
    • 7.7.2. Miscellaneous RTS options
    • 7.7.3. RTS options to control the garbage collector
    • 7.7.4. RTS options to produce runtime statistics
    • 7.7.5. RTS options for concurrency and parallelism
    • 7.7.6. RTS options for profiling
    • 7.7.7. Tracing
    • 7.7.8. RTS options for hackers, debuggers, and over-interested souls
    • 7.7.9. Getting information about the RTS
  • 7.8. Filenames and separate compilation
    • 7.8.1. Haskell source files
    • 7.8.2. Output files
    • 7.8.3. The search path
    • 7.8.4. Redirecting the compilation output(s)
    • 7.8.5. Keeping Intermediate Files
    • 7.8.6. Redirecting temporary files
    • 7.8.7. Other options related to interface files
    • 7.8.8. Options related to extended interface files
    • 7.8.9. The recompilation checker
    • 7.8.10. How to compile mutually recursive modules
    • 7.8.11. Module signatures
    • 7.8.12. Using make
    • 7.8.13. Dependency generation
    • 7.8.14. Orphan modules and instance declarations
  • 7.9. Packages
    • 7.9.1. Using Packages
    • 7.9.2. The main package
    • 7.9.3. Consequences of packages for the Haskell language
    • 7.9.4. Thinning and renaming modules
    • 7.9.5. Package Databases
      • 7.9.5.1. The GHC_PACKAGE_PATH environment variable
      • 7.9.5.2. Package environments
    • 7.9.6. Installed package IDs, dependencies, and broken packages
    • 7.9.7. Package management (the ghc-pkg command)
    • 7.9.8. Building a package from Haskell source
    • 7.9.9. InstalledPackageInfo: a package specification
  • 7.10. GHC Backends
    • 7.10.1. Native Code Generator (-fasm)
    • 7.10.2. LLVM Code Generator (-fllvm)
    • 7.10.3. C Code Generator (-fvia-C)
    • 7.10.4. Unregisterised compilation
  • 7.11. Options related to a particular phase
    • 7.11.1. Replacing the program for one or more phases
    • 7.11.2. Forcing options to a particular phase
    • 7.11.3. Options affecting the C pre-processor
      • 7.11.3.1. Standard CPP macros
      • 7.11.3.2. CPP and string gaps
    • 7.11.4. Options affecting a Haskell pre-processor
    • 7.11.5. Options affecting code generation
    • 7.11.6. Options affecting linking
  • 7.12. Using shared libraries
    • 7.12.1. Building programs that use shared libraries
    • 7.12.2. Shared libraries for Haskell packages
    • 7.12.3. Shared libraries that export a C API
    • 7.12.4. Finding shared libraries at runtime
      • 7.12.4.1. Unix
      • 7.12.4.2. Mac OS X
  • 7.13. Debugging the compiler
    • 7.13.1. Dumping out compiler intermediate structures
      • 7.13.1.1. Front-end
      • 7.13.1.2. Type-checking and renaming
      • 7.13.1.3. Core representation and simplification
      • 7.13.1.4. STG representation
      • 7.13.1.5. C-- representation
      • 7.13.1.6. LLVM code generator
      • 7.13.1.7. Native code generator
      • 7.13.1.8. Miscellaneous backend dumps
    • 7.13.2. Formatting dumps
    • 7.13.3. Suppressing unwanted information
    • 7.13.4. Checking for consistency
    • 7.13.5. Checking for determinism
    • 7.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/8.10.2/docs/html/users_guide/usage.html

Spec-Zone.ru

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