mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-16 19:50:19 +01:00
2062 lines
68 KiB
Groff
2062 lines
68 KiB
Groff
|
.\" Man page generated from reStructuredText.
|
||
|
.
|
||
|
.TH "GHC" "1" "May 20, 2018" "8.4.3" "Glasgow Haskell Compiler"
|
||
|
.SH NAME
|
||
|
ghc \- the Glasgow Haskell Compiler
|
||
|
.
|
||
|
.nr rst2man-indent-level 0
|
||
|
.
|
||
|
.de1 rstReportMargin
|
||
|
\\$1 \\n[an-margin]
|
||
|
level \\n[rst2man-indent-level]
|
||
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
|
-
|
||
|
\\n[rst2man-indent0]
|
||
|
\\n[rst2man-indent1]
|
||
|
\\n[rst2man-indent2]
|
||
|
..
|
||
|
.de1 INDENT
|
||
|
.\" .rstReportMargin pre:
|
||
|
. RS \\$1
|
||
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||
|
. nr rst2man-indent-level +1
|
||
|
.\" .rstReportMargin post:
|
||
|
..
|
||
|
.de UNINDENT
|
||
|
. RE
|
||
|
.\" indent \\n[an-margin]
|
||
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
|
.nr rst2man-indent-level -1
|
||
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||
|
..
|
||
|
.SH SYNOPSIS
|
||
|
.INDENT 0.0
|
||
|
.INDENT 3.5
|
||
|
.sp
|
||
|
.nf
|
||
|
.ft C
|
||
|
ghc [option|filename]
|
||
|
ghci [option|filename]
|
||
|
.ft P
|
||
|
.fi
|
||
|
.UNINDENT
|
||
|
.UNINDENT
|
||
|
.SH DESCRIPTION
|
||
|
.sp
|
||
|
This manual page documents briefly the \fBghc\fP and \fBghci\fP commands. Note that
|
||
|
\fBghci\fP is not yet available on all architectures. Extensive documentation is
|
||
|
available in various other formats including PDF and HTML; see below.
|
||
|
.sp
|
||
|
Each of GHC\(aqs command line options is classified as either \fIstatic\fP or
|
||
|
\fIdynamic\fP\&. A static flag may only be specified on the command line, whereas a
|
||
|
dynamic flag may also be given in an \fBOPTIONS\fP pragma in a source file or
|
||
|
set from the GHCi command\-line with \fB:set\fP .
|
||
|
.sp
|
||
|
As a rule of thumb, all the language options are dynamic, as are the
|
||
|
warning options and the debugging options.
|
||
|
.sp
|
||
|
The rest are static, with the notable exceptions of
|
||
|
\fB\-v\fP, \fB\-cpp\fP, \fB\-fasm\fP, \fB\-fvia\-C\fP, \fB\-fllvm\fP, and
|
||
|
\fB\-#include\fP\&.
|
||
|
The OPTIONS sections lists the status of each flag.
|
||
|
.sp
|
||
|
Common suffixes of file names for Haskell are:
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fB\&.hs\fP
|
||
|
Haskell source code; preprocess, compile
|
||
|
.TP
|
||
|
.B \fB\&.lhs\fP
|
||
|
literate Haskell source; unlit, preprocess, compile
|
||
|
.TP
|
||
|
.B \fB\&.hi\fP
|
||
|
Interface file; contains information about exported symbols
|
||
|
.TP
|
||
|
.B \fB\&.hc\fP
|
||
|
intermediate C files
|
||
|
.TP
|
||
|
.B \fB\&.⟨way⟩_o\fP
|
||
|
object files for "way" ⟨way⟩; common ways are:
|
||
|
.INDENT 7.0
|
||
|
.TP
|
||
|
.B \fBdyn\fP
|
||
|
dynamically\-linked
|
||
|
.TP
|
||
|
.B \fBp\fP
|
||
|
built with profiling
|
||
|
.UNINDENT
|
||
|
.TP
|
||
|
.B \fB\&.⟨way⟩_hi\fP
|
||
|
interface files for "way" ⟨way⟩; common ways are:
|
||
|
.UNINDENT
|
||
|
.SH OPTIONS
|
||
|
.TP
|
||
|
.B Code generation
|
||
|
\fB\-dynamic\-too\fP \fB\-fasm\fP \fB\-fbyte\-code\fP \fB\-fllvm\fP \fB\-fno\-code\fP \fB\-fobject\-code\fP \fB\-fPIC\fP \fB\-fPIE\fP \fB\-fwrite\-interface\fP
|
||
|
.TP
|
||
|
.B Debugging the compiler
|
||
|
\fB\-dcmm\-lint\fP \fB\-dcore\-lint\fP \fB\-ddump\-asm\fP \fB\-ddump\-asm\-expanded\fP \fB\-ddump\-asm\-liveness\fP \fB\-ddump\-asm\-native\fP \fB\-ddump\-asm\-regalloc\fP \fB\-ddump\-asm\-regalloc\-stages\fP \fB\-ddump\-asm\-stats\fP \fB\-ddump\-bcos\fP \fB\-ddump\-cmm\fP \fB\-ddump\-cmm\-caf\fP \fB\-ddump\-cmm\-cbe\fP \fB\-ddump\-cmm\-cfg\fP \fB\-ddump\-cmm\-cps\fP \fB\-ddump\-cmm\-from\-stg\fP \fB\-ddump\-cmm\-info\fP \fB\-ddump\-cmm\-proc\fP \fB\-ddump\-cmm\-procmap\fP \fB\-ddump\-cmm\-raw\fP \fB\-ddump\-cmm\-sink\fP \fB\-ddump\-cmm\-sp\fP \fB\-ddump\-cmm\-split\fP \fB\-ddump\-cmm\-switch\fP \fB\-ddump\-cmm\-verbose\fP \fB\-ddump\-core\-stats\fP \fB\-ddump\-cse\fP \fB\-ddump\-deriv\fP \fB\-ddump\-ds\fP \fB\-ddump\-ec\-trace\fP \fB\-ddump\-foreign\fP \fB\-ddump\-if\-trace\fP \fB\-ddump\-inlinings\fP \fB\-ddump\-json\fP \fB\-ddump\-llvm\fP \fB\-ddump\-occur\-anal\fP \fB\-ddump\-opt\-cmm\fP \fB\-ddump\-parsed\fP \fB\-ddump\-parsed\-ast\fP \fB\-ddump\-prep\fP \fB\-ddump\-rn\fP \fB\-ddump\-rn\-ast\fP \fB\-ddump\-rn\-stats\fP \fB\-ddump\-rn\-trace\fP \fB\-ddump\-rule\-firings\fP \fB\-ddump\-rule\-rewrites\fP \fB\-ddump\-rules\fP \fB\-ddump\-simpl\fP \fB\-ddump\-simpl\-iterations\fP \fB\-ddump\-simpl\-stats\fP \fB\-ddump\-spec\fP \fB\-ddump\-splices\fP \fB\-ddump\-stg\fP \fB\-ddump\-str\-signatures\fP \fB\-ddump\-stranal\fP \fB\-ddump\-tc\fP \fB\-ddump\-tc\-ast\fP \fB\-ddump\-tc\-trace\fP \fB\-ddump\-timings\fP \fB\-ddump\-to\-file\fP \fB\-ddump\-types\fP \fB\-ddump\-vect\fP \fB\-ddump\-vt\-trace\fP \fB\-ddump\-worker\-wrapper\fP \fB\-dfaststring\-stats\fP \fB\-dinitial\-unique=⟨s⟩\fP \fB\-dno\-debug\-output\fP \fB\-dppr\-case\-as\-let\fP \fB\-dppr\-cols=⟨n⟩\fP \fB\-dppr\-debug\fP \fB\-dppr\-user\-length\fP \fB\-dshow\-passes\fP \fB\-dstg\-lint\fP \fB\-dsuppress\-all\fP \fB\-dsuppress\-coercions\fP \fB\-dsuppress\-idinfo\fP \fB\-dsuppress\-module\-prefixes\fP \fB\-dsuppress\-stg\-free\-vars\fP \fB\-dsuppress\-ticks\fP \fB\-dsuppress\-type\-applications\fP \fB\-dsuppress\-type\-signatures\fP \fB\-dsuppress\-unfoldings\fP \fB\-dsuppress\-uniques\fP \fB\-dsuppress\-var\-kinds\fP \fB\-dth\-dec\-file=⟨file⟩\fP \fB\-dunique\-increment=⟨i⟩\fP \fB\-dverbose\-core2core\fP \fB\-dverbose\-stg2stg\fP \fB\-falignment\-sanitisation\fP \fB\-fcatch\-bottoms\fP \fB\-fllvm\-fill\-undef\-with\-garbage\fP \fB\-g\fP \fB\-g⟨n⟩\fP
|
||
|
.TP
|
||
|
.B C pre\-processor
|
||
|
\fB\-cpp\fP \fB\-D⟨symbol⟩[=⟨value⟩]\fP \fB\-I⟨dir⟩\fP \fB\-U⟨symbol⟩\fP
|
||
|
.TP
|
||
|
.B Finding imports
|
||
|
\fB\-i\fP \fB\-i⟨dir⟩[:⟨dir⟩]*\fP
|
||
|
.TP
|
||
|
.B Interactive mode
|
||
|
\fB\-fbreak\-on\-error\fP \fB\-fbreak\-on\-exception\fP \fB\-fghci\-hist\-size=⟨n⟩\fP \fB\-flocal\-ghci\-history\fP \fB\-fprint\-bind\-result\fP \fB\-fshow\-loaded\-modules\fP \fB\-ghci\-script\fP \fB\-ignore\-dot\-ghci\fP \fB\-interactive\-print ⟨expr⟩\fP
|
||
|
.TP
|
||
|
.B Interface files
|
||
|
\fB\-\-show\-iface ⟨file⟩\fP \fB\-ddump\-hi\fP \fB\-ddump\-hi\-diffs\fP \fB\-ddump\-minimal\-imports\fP
|
||
|
.TP
|
||
|
.B Keeping intermediate files
|
||
|
\fB\-keep\-hc\-file\fP \fB\-keep\-hc\-files\fP \fB\-keep\-hi\-files\fP \fB\-keep\-llvm\-file\fP \fB\-keep\-llvm\-files\fP \fB\-keep\-o\-files\fP \fB\-keep\-s\-file\fP \fB\-keep\-s\-files\fP \fB\-keep\-tmp\-files\fP
|
||
|
.TP
|
||
|
.B Language options
|
||
|
\fB\-XAllowAmbiguousTypes\fP \fB\-XApplicativeDo\fP \fB\-XArrows\fP \fB\-XBangPatterns\fP \fB\-XBinaryLiterals\fP \fB\-XCApiFFI\fP \fB\-XConstrainedClassMethods\fP \fB\-XConstraintKinds\fP \fB\-XCPP\fP \fB\-XDataKinds\fP \fB\-XDatatypeContexts\fP \fB\-XDefaultSignatures\fP \fB\-XDeriveAnyClass\fP \fB\-XDeriveDataTypeable\fP \fB\-XDeriveFoldable\fP \fB\-XDeriveFunctor\fP \fB\-XDeriveGeneric\fP \fB\-XDeriveLift\fP \fB\-XDeriveTraversable\fP \fB\-XDerivingStrategies\fP \fB\-XDisambiguateRecordFields\fP \fB\-XDuplicateRecordFields\fP \fB\-XEmptyCase\fP \fB\-XEmptyDataDecls\fP \fB\-XEmptyDataDeriving\fP \fB\-XExistentialQuantification\fP \fB\-XExplicitForAll\fP \fB\-XExplicitNamespaces\fP \fB\-XExtendedDefaultRules\fP \fB\-XFlexibleContexts\fP \fB\-XFlexibleInstances\fP \fB\-XForeignFunctionInterface\fP \fB\-XFunctionalDependencies\fP \fB\-XGADTs\fP \fB\-XGADTSyntax\fP \fB\-XGeneralisedNewtypeDeriving\fP \fB\-XGeneralizedNewtypeDeriving\fP \fB\-XHexFloatLiterals\fP \fB\-XImplicitParams\fP \fB\-XImpredicativeTypes\fP \fB\-XIncoherentInstances\fP \fB\-XInstanceSigs\fP \fB\-XInterruptibleFFI\fP \fB\-XKindSignatures\fP \fB\-XLambdaCase\fP \fB\-XLiberalTypeSynonyms\fP \fB\-XMagicHash\fP \fB\-XMonadComprehensions\fP \fB\-XMonadFailDesugaring\fP \fB\-XMonoLocalBinds\fP \fB\-XMultiParamTypeClasses\fP \fB\-XMultiWayIf\fP \fB\-XNamedFieldPuns\fP \fB\-XNamedWildCards\fP \fB\-XNegativeLiterals\fP \fB\-XNoImplicitPrelude\fP \fB\-XNoMonomorphismRestriction\fP \fB\-XNoPatternGuards\fP \fB\-XNoTraditionalRecordSyntax\fP \fB\-XNPlusKPatterns\fP \fB\-XNullaryTypeClasses\fP \fB\-XNumDecimals\fP \fB\-XOverlappingInstances\fP \fB\-XOverloadedLabels\fP \fB\-XOverloadedLists\fP \fB\-XOverloadedStrings\fP \fB\-XPackageImports\fP \fB\-XParallelListComp\fP \fB\-XPartialTypeSignatures\fP \fB\-XPatternSynonyms\fP \fB\-XPolyKinds\fP \fB\-XPostfixOperators\fP \fB\-XQuasiQuotes\fP \fB\-XRank2Types\fP \fB\-XRankNTypes\fP \fB\-XRebindableSyntax\fP \fB\-XRecordWildCards\fP \fB\-XRecursiveDo\fP \fB\-XRoleAnnotations\fP \fB\-XSafe\fP \fB\-XScopedTypeVariables\fP \fB\-XStandaloneDeriving\fP \fB\-XStaticPointers\fP \fB\-XStrict\fP \fB\-XStrictData\fP \fB\-XTemplateHaskell\fP \fB\-XTemplateHaskellQuotes\fP \fB\-XTransformListComp\fP \fB\-XTrustworthy\fP \fB\-XTupleSections\fP \fB\-XTypeApplications\fP \fB\-XTypeFamilies\fP \fB\-XTypeFamilyDependencies\fP \fB\-XTypeInType\fP \fB\-XTypeOperators\fP \fB\-XTypeSynonymInstances\fP \fB\-XUnboxedSums\fP \fB\-XUnboxedTuples\fP \fB\-XUndecidableInstances\fP \fB\-XUndecidableSuperClasses\fP \fB\-XUnicodeSyntax\fP \fB\-XUnsafe\fP \fB\-XViewPatterns\fP
|
||
|
.TP
|
||
|
.B Linking options
|
||
|
\fB\-c\fP \fB\-debug\fP \fB\-dylib\-install\-name ⟨path⟩\fP \fB\-dynamic\fP \fB\-dynload\fP \fB\-eventlog\fP \fB\-fno\-embed\-manifest\fP \fB\-fno\-gen\-manifest\fP \fB\-fno\-shared\-implib\fP \fB\-framework ⟨name⟩\fP \fB\-framework\-path ⟨dir⟩\fP \fB\-fwhole\-archive\-hs\-libs\fP \fB\-L ⟨dir⟩\fP \fB\-l ⟨lib⟩\fP \fB\-main\-is ⟨thing⟩\fP \fB\-no\-hs\-main\fP \fB\-no\-rtsopts\-suggestions\fP \fB\-package ⟨name⟩\fP \fB\-pie\fP \fB\-rdynamic\fP \fB\-rtsopts[=⟨none|some|all⟩]\fP \fB\-shared\fP \fB\-split\-objs\fP \fB\-split\-sections\fP \fB\-static\fP \fB\-staticlib\fP \fB\-threaded\fP \fB\-with\-rtsopts=⟨opts⟩\fP
|
||
|
.TP
|
||
|
.B Miscellaneous options
|
||
|
\fB\-fexternal\-interpreter\fP \fB\-fglasgow\-exts\fP \fB\-ghcversion\-file ⟨path to ghcversion.h⟩\fP \fB\-H ⟨size⟩\fP \fB\-j[⟨n⟩]\fP
|
||
|
.TP
|
||
|
.B Modes of operation
|
||
|
\fB\-\-frontend ⟨module⟩\fP \fB\-\-help\fP \fB\-?\fP \fB\-\-info\fP \fB\-\-interactive\fP \fB\-\-make\fP \fB\-\-mk\-dll\fP \fB\-\-numeric\-version\fP \fB\-\-print\-libdir\fP \fB\-\-show\-iface ⟨file⟩\fP \fB\-\-show\-options\fP \fB\-\-supported\-extensions\fP \fB\-\-supported\-languages\fP \fB\-\-version\fP \fB\-V\fP \fB\-e ⟨expr⟩\fP \fB\-M\fP
|
||
|
.TP
|
||
|
.B Individual optimizations
|
||
|
\fB\-fcall\-arity\fP \fB\-fcase\-folding\fP \fB\-fcase\-merge\fP \fB\-fcmm\-elim\-common\-blocks\fP \fB\-fcmm\-sink\fP \fB\-fcpr\-anal\fP \fB\-fcross\-module\-specialise\fP \fB\-fcse\fP \fB\-fdicts\-cheap\fP \fB\-fdicts\-strict\fP \fB\-fdmd\-tx\-dict\-sel\fP \fB\-fdo\-eta\-reduction\fP \fB\-fdo\-lambda\-eta\-expansion\fP \fB\-feager\-blackholing\fP \fB\-fenable\-rewrite\-rules\fP \fB\-fexcess\-precision\fP \fB\-fexitification\fP \fB\-fexpose\-all\-unfoldings\fP \fB\-ffloat\-in\fP \fB\-ffull\-laziness\fP \fB\-ffun\-to\-thunk\fP \fB\-fignore\-asserts\fP \fB\-fignore\-interface\-pragmas\fP \fB\-flate\-dmd\-anal\fP \fB\-fliberate\-case\fP \fB\-fliberate\-case\-threshold=⟨n⟩\fP \fB\-fllvm\-pass\-vectors\-in\-regs\fP \fB\-floopification\fP \fB\-fmax\-inline\-alloc\-size=⟨n⟩\fP \fB\-fmax\-inline\-memcpy\-insns=⟨n⟩\fP \fB\-fmax\-inline\-memset\-insns=⟨n⟩\fP \fB\-fmax\-relevant\-binds=⟨n⟩\fP \fB\-fmax\-simplifier\-iterations=⟨n⟩\fP \fB\-fmax\-uncovered\-patterns=⟨n⟩\fP \fB\-fmax\-valid\-substitutions=⟨n⟩\fP \fB\-fmax\-worker\-args=⟨n⟩\fP \fB\-fno\-opt\-coercion\fP \fB\-fno\-pre\-inlining\fP \fB\-fno\-state\-hack\fP \fB\-fomit\-interface\-pragmas\fP \fB\-fomit\-yields\fP \fB\-foptimal\-applicative\-do\fP \fB\-fpedantic\-bottoms\fP \fB\-fregs\-graph\fP \fB\-fregs\-iterative\fP \fB\-fsimpl\-tick\-factor=⟨n⟩\fP \fB\-fsimplifier\-phases=⟨n⟩\fP \fB\-fsolve\-constant\-dicts\fP \fB\-fspec\-constr\fP \fB\-fspec\-constr\-count=⟨n⟩\fP \fB\-fspec\-constr\-keen\fP \fB\-fspec\-constr\-threshold=⟨n⟩\fP \fB\-fspecialise\fP \fB\-fspecialise\-aggressively\fP \fB\-fstatic\-argument\-transformation\fP \fB\-fstg\-cse\fP \fB\-fstrictness\fP \fB\-fstrictness\-before=⟨n⟩\fP \fB\-funbox\-small\-strict\-fields\fP \fB\-funbox\-strict\-fields\fP \fB\-funfolding\-creation\-threshold=⟨n⟩\fP \fB\-funfolding\-dict\-discount=⟨n⟩\fP \fB\-funfolding\-fun\-discount=⟨n⟩\fP \fB\-funfolding\-keeness\-factor=⟨n⟩\fP \fB\-funfolding\-use\-threshold=⟨n⟩\fP \fB\-fvectorisation\-avoidance\fP \fB\-fvectorise\fP
|
||
|
.TP
|
||
|
.B Optimization levels
|
||
|
\fB\-O\fP \fB\-O1\fP \fB\-O0\fP \fB\-O2\fP \fB\-Odph\fP
|
||
|
.TP
|
||
|
.B Package options
|
||
|
\fB\-clear\-package\-db\fP \fB\-distrust ⟨pkg⟩\fP \fB\-distrust\-all\-packages\fP \fB\-fpackage\-trust\fP \fB\-global\-package\-db\fP \fB\-hide\-all\-packages\fP \fB\-hide\-package ⟨pkg⟩\fP \fB\-ignore\-package ⟨pkg⟩\fP \fB\-no\-auto\-link\-packages\fP \fB\-no\-global\-package\-db\fP \fB\-no\-user\-package\-db\fP \fB\-package ⟨pkg⟩\fP \fB\-package\-db ⟨file⟩\fP \fB\-package\-env ⟨file⟩|⟨name⟩\fP \fB\-package\-id ⟨unit\-id⟩\fP \fB\-this\-unit\-id ⟨unit\-id⟩\fP \fB\-trust ⟨pkg⟩\fP \fB\-user\-package\-db\fP
|
||
|
.TP
|
||
|
.B Phases of compilation
|
||
|
\fB\-C\fP \fB\-c\fP \fB\-E\fP \fB\-F\fP \fB\-S\fP \fB\-x ⟨suffix⟩\fP
|
||
|
.TP
|
||
|
.B Overriding external programs
|
||
|
\fB\-pgma ⟨cmd⟩\fP \fB\-pgmc ⟨cmd⟩\fP \fB\-pgmdll ⟨cmd⟩\fP \fB\-pgmF ⟨cmd⟩\fP \fB\-pgmi ⟨cmd⟩\fP \fB\-pgmL ⟨cmd⟩\fP \fB\-pgml ⟨cmd⟩\fP \fB\-pgmlc ⟨cmd⟩\fP \fB\-pgmlibtool ⟨cmd⟩\fP \fB\-pgmlo ⟨cmd⟩\fP \fB\-pgmP ⟨cmd⟩\fP \fB\-pgms ⟨cmd⟩\fP \fB\-pgmwindres ⟨cmd⟩\fP
|
||
|
.TP
|
||
|
.B Phase\-specific options
|
||
|
\fB\-opta ⟨option⟩\fP \fB\-optc ⟨option⟩\fP \fB\-optdll ⟨option⟩\fP \fB\-optF ⟨option⟩\fP \fB\-opti ⟨option⟩\fP \fB\-optL ⟨option⟩\fP \fB\-optl ⟨option⟩\fP \fB\-optlc ⟨option⟩\fP \fB\-optlo ⟨option⟩\fP \fB\-optP ⟨option⟩\fP \fB\-optwindres ⟨option⟩\fP
|
||
|
.TP
|
||
|
.B Platform\-specific options
|
||
|
\fB\-msse2\fP \fB\-msse4.2\fP
|
||
|
.TP
|
||
|
.B Compiler plugins
|
||
|
\fB\-fplugin\-opt=⟨module⟩:⟨args⟩\fP \fB\-fplugin=⟨module⟩\fP \fB\-hide\-all\-plugin\-packages\fP \fB\-plugin\-package ⟨pkg⟩\fP \fB\-plugin\-package\-id ⟨pkg\-id⟩\fP
|
||
|
.TP
|
||
|
.B Profiling
|
||
|
\fB\-fno\-prof\-auto\fP \fB\-fno\-prof\-cafs\fP \fB\-fno\-prof\-count\-entries\fP \fB\-fprof\-auto\fP \fB\-fprof\-auto\-calls\fP \fB\-fprof\-auto\-exported\fP \fB\-fprof\-auto\-top\fP \fB\-fprof\-cafs\fP \fB\-prof\fP \fB\-ticky\fP
|
||
|
.TP
|
||
|
.B Program coverage
|
||
|
\fB\-fhpc\fP
|
||
|
.TP
|
||
|
.B Recompilation checking
|
||
|
\fB\-fforce\-recomp\fP \fB\-fignore\-hpc\-changes\fP \fB\-fignore\-optim\-changes\fP
|
||
|
.TP
|
||
|
.B Redirecting output
|
||
|
\fB\-\-exclude\-module=⟨file⟩\fP \fB\-ddump\-mod\-cycles\fP \fB\-dep\-makefile ⟨file⟩\fP \fB\-dep\-suffix ⟨suffix⟩\fP \fB\-dumpdir ⟨dir⟩\fP \fB\-hcsuf ⟨suffix⟩\fP \fB\-hidir ⟨dir⟩\fP \fB\-hisuf ⟨suffix⟩\fP \fB\-include\-pkg\-deps\fP \fB\-o ⟨file⟩\fP \fB\-odir ⟨dir⟩\fP \fB\-ohi ⟨file⟩\fP \fB\-osuf ⟨suffix⟩\fP \fB\-outputdir ⟨dir⟩\fP \fB\-stubdir ⟨dir⟩\fP
|
||
|
.TP
|
||
|
.B Temporary files
|
||
|
\fB\-tmpdir ⟨dir⟩\fP
|
||
|
.TP
|
||
|
.B Verbosity options
|
||
|
\fB\-fdiagnostics\-color=⟨always|auto|never⟩\fP \fB\-fdiagnostics\-show\-caret\fP \fB\-ferror\-spans\fP \fB\-fhide\-source\-paths\fP \fB\-fprint\-equality\-relations\fP \fB\-fprint\-expanded\-synonyms\fP \fB\-fprint\-explicit\-coercions\fP \fB\-fprint\-explicit\-foralls\fP \fB\-fprint\-explicit\-kinds\fP \fB\-fprint\-explicit\-runtime\-rep\fP \fB\-fprint\-explicit\-runtime\-reps\fP \fB\-fprint\-potential\-instances\fP \fB\-fprint\-typechecker\-elaboration\fP \fB\-fprint\-unicode\-syntax\fP \fB\-fshow\-hole\-constraints\fP \fB\-Rghc\-timing\fP \fB\-v\fP \fB\-v⟨n⟩\fP
|
||
|
.TP
|
||
|
.B Warnings
|
||
|
\fB\-fdefer\-out\-of\-scope\-variables\fP \fB\-fdefer\-type\-errors\fP \fB\-fdefer\-typed\-holes\fP \fB\-fhelpful\-errors\fP \fB\-fmax\-pmcheck\-iterations=⟨n⟩\fP \fB\-fshow\-warning\-groups\fP \fB\-W\fP \fB\-w\fP \fB\-Wall\fP \fB\-Wall\-missed\-specialisations\fP \fB\-Wamp\fP \fB\-Wcompat\fP \fB\-Wcpp\-undef\fP \fB\-Wdeferred\-out\-of\-scope\-variables\fP \fB\-Wdeferred\-type\-errors\fP \fB\-Wdeprecated\-flags\fP \fB\-Wdeprecations\fP \fB\-Wdodgy\-exports\fP \fB\-Wdodgy\-foreign\-imports\fP \fB\-Wdodgy\-imports\fP \fB\-Wduplicate\-constraints\fP \fB\-Wduplicate\-exports\fP \fB\-Wempty\-enumerations\fP \fB\-Werror\fP \fB\-Weverything\fP \fB\-Whi\-shadowing\fP \fB\-Widentities\fP \fB\-Wimplicit\-prelude\fP \fB\-Wincomplete\-patterns\fP \fB\-Wincomplete\-record\-updates\fP \fB\-Wincomplete\-uni\-patterns\fP \fB\-Winline\-rule\-shadowing\fP \fB\-Wmissed\-specialisations\fP \fB\-Wmissing\-export\-lists\fP \fB\-Wmissing\-exported\-signatures\fP \fB\-Wmissing\-exported\-sigs\fP \fB\-Wmissing\-fields\fP \fB\-Wmissing\-home\-modules\fP \fB\-Wmissing\-import\-lists\fP \fB\-Wmissing\-local\-signatures\fP \fB\-Wmissing\-local\-sigs\fP \fB\-Wmissing\-methods\fP \fB\-Wmissing\-monadfail\-instances\fP \fB\-Wmissing\-pattern\-synonym\-signatures\fP \fB\-Wmissing\-signatures\fP \fB\-Wmonomorphism\-restriction\fP \fB\-Wname\-shadowing\fP \fB\-Wno\-compat\fP \fB\-Wnoncanonical\-monad\-instances\fP \fB\-Wnoncanonical\-monadfail\-instances\fP \fB\-Wnoncanonical\-monoid\-instances\fP \fB\-Worphans\fP \fB\-Woverflowed\-literals\fP \fB\-Woverlapping\-patterns\fP \fB\-Wpartial\-fields\fP \fB\-Wpartial\-type\-signatures\fP \fB\-Wredundant\-constraints\fP \fB\-Wsafe\fP \fB\-Wsemigroup\fP \fB\-Wsimplifiable\-class\-constraints\fP \fB\-Wtabs\fP \fB\-Wtrustworthy\-safe\fP \fB\-Wtype\-defaults\fP \fB\-Wtyped\-holes\fP \fB\-Wunbanged\-strict\-patterns\fP \fB\-Wunrecognised\-pragmas\fP \fB\-Wunrecognised\-warning\-flags\fP \fB\-Wunsafe\fP \fB\-Wunsupported\-calling\-conventions\fP \fB\-Wunsupported\-llvm\-version\fP \fB\-Wunticked\-promoted\-constructors\fP \fB\-Wunused\-binds\fP \fB\-Wunused\-do\-bind\fP \fB\-Wunused\-foralls\fP \fB\-Wunused\-imports\fP \fB\-Wunused\-local\-binds\fP \fB\-Wunused\-matches\fP \fB\-Wunused\-pattern\-binds\fP \fB\-Wunused\-top\-binds\fP \fB\-Wunused\-type\-patterns\fP \fB\-Wwarn\fP \fB\-Wwarnings\-deprecations\fP \fB\-Wwrong\-do\-bind\fP
|
||
|
.SS Code generation
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-dynamic\-too\fP
|
||
|
Build dynamic object files \fIas well as\fP static object files
|
||
|
during compilation
|
||
|
.TP
|
||
|
.B \fI\%\-fasm\fP
|
||
|
Use the \fInative code generator\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fbyte\-code\fP
|
||
|
Generate byte\-code
|
||
|
.TP
|
||
|
.B \fI\%\-fllvm\fP
|
||
|
Compile using the \fILLVM code generator\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-code\fP
|
||
|
Omit code generation
|
||
|
.TP
|
||
|
.B \fI\%\-fobject\-code\fP
|
||
|
Generate object code
|
||
|
.TP
|
||
|
.B \fI\%\-fPIC\fP
|
||
|
Generate position\-independent code (where available)
|
||
|
.TP
|
||
|
.B \fI\%\-fPIE\fP
|
||
|
Generate code for a position\-independent executable (where available)
|
||
|
.TP
|
||
|
.B \fI\%\-fwrite\-interface\fP
|
||
|
Always write interface files
|
||
|
.UNINDENT
|
||
|
.SS Debugging the compiler
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-dcmm\-lint\fP
|
||
|
C\-\- pass sanity checking
|
||
|
.TP
|
||
|
.B \fI\%\-dcore\-lint\fP
|
||
|
Turn on internal sanity checking
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-asm\fP
|
||
|
Dump final assembly
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-asm\-expanded\fP
|
||
|
Dump the result of the synthetic instruction expansion pass.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-asm\-liveness\fP
|
||
|
Dump assembly augmented with register liveness
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-asm\-native\fP
|
||
|
Dump initial assembly
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-asm\-regalloc\fP
|
||
|
Dump the result of register allocation
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-asm\-regalloc\-stages\fP
|
||
|
Dump the build/spill stages of the \fB\-fregs\-graph\fP
|
||
|
register allocator.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-asm\-stats\fP
|
||
|
Dump statistics from the register allocator.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-bcos\fP
|
||
|
Dump interpreter byte code
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\fP
|
||
|
Dump the final C\-\- output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-caf\fP
|
||
|
Dump the results of the C\-\- CAF analysis pass.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-cbe\fP
|
||
|
Dump the results of common block elimination
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-cfg\fP
|
||
|
Dump the results of the C\-\- control flow optimisation pass.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-cps\fP
|
||
|
Dump the results of the CPS pass
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-from\-stg\fP
|
||
|
Dump STG\-to\-C\-\- output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-info\fP
|
||
|
Dump the results of the C\-\- info table augmentation pass.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-proc\fP
|
||
|
Dump the results of proc\-point analysis
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-procmap\fP
|
||
|
Dump the results of the C\-\- proc\-point map pass.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-raw\fP
|
||
|
Dump raw C\-\-
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-sink\fP
|
||
|
Dump the results of the C\-\- sinking pass.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-sp\fP
|
||
|
Dump the results of the C\-\- stack layout pass.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-split\fP
|
||
|
Dump the results of the C\-\- proc\-point splitting pass.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-switch\fP
|
||
|
Dump the results of switch lowering passes
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cmm\-verbose\fP
|
||
|
Show output from each C\-\- pipeline pass
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-core\-stats\fP
|
||
|
Print a one\-line summary of the size of the Core program at the
|
||
|
end of the optimisation pipeline
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-cse\fP
|
||
|
Dump CSE output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-deriv\fP
|
||
|
Dump deriving output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-ds\fP
|
||
|
Dump desugarer output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-ec\-trace\fP
|
||
|
Trace exhaustiveness checker
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-foreign\fP
|
||
|
Dump \fBforeign export\fP stubs
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-if\-trace\fP
|
||
|
Trace interface files
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-inlinings\fP
|
||
|
Dump inlining info
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-json\fP
|
||
|
Dump error messages as JSON documents
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-llvm\fP
|
||
|
Dump LLVM intermediate code.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-occur\-anal\fP
|
||
|
Dump occurrence analysis output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-opt\-cmm\fP
|
||
|
Dump the results of C\-\- to C\-\- optimising passes
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-parsed\fP
|
||
|
Dump parse tree
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-parsed\-ast\fP
|
||
|
Dump parser output as a syntax tree
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-prep\fP
|
||
|
Dump prepared core
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-rn\fP
|
||
|
Dump renamer output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-rn\-ast\fP
|
||
|
Dump renamer output as a syntax tree
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-rn\-stats\fP
|
||
|
Renamer stats
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-rn\-trace\fP
|
||
|
Trace renamer
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-rule\-firings\fP
|
||
|
Dump rule firing info
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-rule\-rewrites\fP
|
||
|
Dump detailed rule firing info
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-rules\fP
|
||
|
Dump rewrite rules
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-simpl\fP
|
||
|
Dump final simplifier output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-simpl\-iterations\fP
|
||
|
Dump output from each simplifier iteration
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-simpl\-stats\fP
|
||
|
Dump simplifier stats
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-spec\fP
|
||
|
Dump specialiser output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-splices\fP
|
||
|
Dump TH spliced expressions, and what they evaluate to
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-stg\fP
|
||
|
Dump final STG
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-str\-signatures\fP
|
||
|
Dump strictness signatures
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-stranal\fP
|
||
|
Dump strictness analyser output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-tc\fP
|
||
|
Dump typechecker output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-tc\-ast\fP
|
||
|
Dump typechecker output as a syntax tree
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-tc\-trace\fP
|
||
|
Trace typechecker
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-timings\fP
|
||
|
Dump per\-pass timing and allocation statistics
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-to\-file\fP
|
||
|
Dump to files instead of stdout
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-types\fP
|
||
|
Dump type signatures
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-vect\fP
|
||
|
Dump vectoriser input and output
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-vt\-trace\fP
|
||
|
Trace vectoriser
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-worker\-wrapper\fP
|
||
|
Dump worker\-wrapper output
|
||
|
.TP
|
||
|
.B \fI\%\-dfaststring\-stats\fP
|
||
|
Show statistics for fast string usage when finished
|
||
|
.TP
|
||
|
.B \fI\%\-dinitial\-unique=⟨s⟩\fP
|
||
|
Start \fBUniqSupply\fP allocation from ⟨s⟩.
|
||
|
.TP
|
||
|
.B \fI\%\-dno\-debug\-output\fP
|
||
|
Suppress unsolicited debugging output
|
||
|
.TP
|
||
|
.B \fI\%\-dppr\-case\-as\-let\fP
|
||
|
Print single alternative case expressions as strict lets.
|
||
|
.TP
|
||
|
.B \fI\%\-dppr\-cols=⟨n⟩\fP
|
||
|
Set the width of debugging output. For example \fB\-dppr\-cols200\fP
|
||
|
.TP
|
||
|
.B \fI\%\-dppr\-debug\fP
|
||
|
Turn on debug printing (more verbose)
|
||
|
.TP
|
||
|
.B \fI\%\-dppr\-user\-length\fP
|
||
|
Set the depth for printing expressions in error msgs
|
||
|
.TP
|
||
|
.B \fI\%\-dshow\-passes\fP
|
||
|
Print out each pass name as it happens
|
||
|
.TP
|
||
|
.B \fI\%\-dstg\-lint\fP
|
||
|
STG pass sanity checking
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-all\fP
|
||
|
In core dumps, suppress everything (except for uniques) that is
|
||
|
suppressible.
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-coercions\fP
|
||
|
Suppress the printing of coercions in Core dumps to make them
|
||
|
shorter
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-idinfo\fP
|
||
|
Suppress extended information about identifiers where they
|
||
|
are bound
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-module\-prefixes\fP
|
||
|
Suppress the printing of module qualification prefixes
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-stg\-free\-vars\fP
|
||
|
Suppress the printing of closure free variable lists in STG output
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-ticks\fP
|
||
|
Suppress "ticks" in the pretty\-printer output.
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-type\-applications\fP
|
||
|
Suppress type applications
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-type\-signatures\fP
|
||
|
Suppress type signatures
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-unfoldings\fP
|
||
|
Suppress the printing of the stable unfolding of a variable at
|
||
|
its binding site
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-uniques\fP
|
||
|
Suppress the printing of uniques in debug output (easier to use
|
||
|
\fBdiff\fP)
|
||
|
.TP
|
||
|
.B \fI\%\-dsuppress\-var\-kinds\fP
|
||
|
Suppress the printing of variable kinds
|
||
|
.TP
|
||
|
.B \fI\%\-dth\-dec\-file=⟨file⟩\fP
|
||
|
Show evaluated TH declarations in a .th.hs file
|
||
|
.TP
|
||
|
.B \fI\%\-dunique\-increment=⟨i⟩\fP
|
||
|
Set the increment for the generated \fBUnique\fP\(aqs to ⟨i⟩.
|
||
|
.TP
|
||
|
.B \fI\%\-dverbose\-core2core\fP
|
||
|
Show output from each core\-to\-core pass
|
||
|
.TP
|
||
|
.B \fI\%\-dverbose\-stg2stg\fP
|
||
|
Show output from each STG\-to\-STG pass
|
||
|
.TP
|
||
|
.B \fI\%\-falignment\-sanitisation\fP
|
||
|
Compile with alignment checks for all info table dereferences.
|
||
|
.TP
|
||
|
.B \fI\%\-fcatch\-bottoms\fP
|
||
|
Insert \fBerror\fP expressions after bottoming expressions; useful
|
||
|
when debugging the compiler.
|
||
|
.TP
|
||
|
.B \fI\%\-fllvm\-fill\-undef\-with\-garbage\fP
|
||
|
Intruct LLVM to fill dead STG registers with garbage
|
||
|
.TP
|
||
|
.B \fI\%\-g\fP
|
||
|
Produce DWARF debug information in compiled object files.
|
||
|
⟨n⟩ can be 0, 1, or 2, with higher numbers producing richer
|
||
|
output. If ⟨n⟩ is omitted level 2 is assumed.
|
||
|
.UNINDENT
|
||
|
.SS C pre\-processor
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-cpp\fP
|
||
|
Run the C pre\-processor on Haskell source files
|
||
|
.TP
|
||
|
.B \fI\%\-D⟨symbol⟩[=⟨value⟩]\fP
|
||
|
Define a symbol in the C pre\-processor
|
||
|
.TP
|
||
|
.B \fI\%\-I⟨dir⟩\fP
|
||
|
Add ⟨dir⟩ to the directory search list for \fB#include\fP files
|
||
|
.TP
|
||
|
.B \fI\%\-U⟨symbol⟩\fP
|
||
|
Undefine a symbol in the C pre\-processor
|
||
|
.UNINDENT
|
||
|
.SS Finding imports
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-i\fP
|
||
|
Empty the import directory list
|
||
|
.TP
|
||
|
.B \fI\%\-i⟨dir⟩[:⟨dir⟩]*\fP
|
||
|
add ⟨dir⟩, ⟨dir2⟩, etc. to import path
|
||
|
.UNINDENT
|
||
|
.SS Interactive mode
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fbreak\-on\-error\fP
|
||
|
\fI\%Break on uncaught exceptions and errors\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fbreak\-on\-exception\fP
|
||
|
\fI\%Break on any exception thrown\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fghci\-hist\-size=⟨n⟩\fP
|
||
|
Set the number of entries GHCi keeps for \fB:history\fP\&.
|
||
|
See \fI\%The GHCi Debugger\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-flocal\-ghci\-history\fP
|
||
|
Use current directory for the GHCi command history
|
||
|
file \fB\&.ghci\-history\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-bind\-result\fP
|
||
|
\fI\%Turn on printing of binding results in GHCi\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fshow\-loaded\-modules\fP
|
||
|
Show the names of modules that GHCi loaded after a
|
||
|
\fI\%:load\fP command.
|
||
|
.TP
|
||
|
.B \fI\%\-ghci\-script\fP
|
||
|
Read additional \fB\&.ghci\fP files
|
||
|
.TP
|
||
|
.B \fI\%\-ignore\-dot\-ghci\fP
|
||
|
Disable reading of \fB\&.ghci\fP files
|
||
|
.TP
|
||
|
.B \fI\%\-interactive\-print ⟨expr⟩\fP
|
||
|
\fI\%Select the function to use for printing evaluated
|
||
|
expressions in GHCi\fP
|
||
|
.UNINDENT
|
||
|
.SS Interface files
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fB\-\-show\-iface ⟨file⟩\fP
|
||
|
See \fImodes\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-hi\fP
|
||
|
Dump the new interface to stdout
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-hi\-diffs\fP
|
||
|
Show the differences vs. the old interface
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-minimal\-imports\fP
|
||
|
Dump a minimal set of imports
|
||
|
.UNINDENT
|
||
|
.SS Keeping intermediate files
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-keep\-hc\-file\fP
|
||
|
Retain intermediate \fB\&.hc\fP files.
|
||
|
.TP
|
||
|
.B \fI\%\-keep\-hi\-files\fP
|
||
|
Retain intermediate \fB\&.hi\fP files (the default).
|
||
|
.TP
|
||
|
.B \fI\%\-keep\-llvm\-file\fP
|
||
|
Retain intermediate LLVM \fB\&.ll\fP files.
|
||
|
Implies \fB\-fllvm\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-keep\-o\-files\fP
|
||
|
Retain intermediate \fB\&.o\fP files (the default).
|
||
|
.TP
|
||
|
.B \fI\%\-keep\-s\-file\fP
|
||
|
Retain intermediate \fB\&.s\fP files.
|
||
|
.TP
|
||
|
.B \fI\%\-keep\-tmp\-files\fP
|
||
|
Retain all intermediate temporary files.
|
||
|
.UNINDENT
|
||
|
.SS Language options
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-XAllowAmbiguousTypes\fP
|
||
|
Allow the user to write ambiguous types, and
|
||
|
the type inference engine to infer them.
|
||
|
.TP
|
||
|
.B \fI\%\-XApplicativeDo\fP
|
||
|
Enable Applicative do\-notation desugaring
|
||
|
.TP
|
||
|
.B \fI\%\-XArrows\fP
|
||
|
Enable arrow notation extension
|
||
|
.TP
|
||
|
.B \fI\%\-XBangPatterns\fP
|
||
|
Enable bang patterns.
|
||
|
.TP
|
||
|
.B \fI\%\-XBinaryLiterals\fP
|
||
|
Enable support for binary literals.
|
||
|
.TP
|
||
|
.B \fI\%\-XCApiFFI\fP
|
||
|
Enable the CAPI calling convention.
|
||
|
.TP
|
||
|
.B \fI\%\-XConstrainedClassMethods\fP
|
||
|
Enable constrained class methods.
|
||
|
.TP
|
||
|
.B \fI\%\-XConstraintKinds\fP
|
||
|
Enable a kind of constraints.
|
||
|
.TP
|
||
|
.B \fI\%\-XCPP\fP
|
||
|
Enable the C preprocessor.
|
||
|
.TP
|
||
|
.B \fI\%\-XDataKinds\fP
|
||
|
Enable datatype promotion.
|
||
|
.TP
|
||
|
.B \fI\%\-XDatatypeContexts\fP
|
||
|
Allow contexts on \fBdata\fP types.
|
||
|
.TP
|
||
|
.B \fI\%\-XDefaultSignatures\fP
|
||
|
Enable default signatures.
|
||
|
.TP
|
||
|
.B \fI\%\-XDeriveAnyClass\fP
|
||
|
Enable deriving for any class.
|
||
|
.TP
|
||
|
.B \fI\%\-XDeriveDataTypeable\fP
|
||
|
Enable deriving for the Data class.
|
||
|
Implied by \fBAutoDeriveTypeable\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XDeriveFoldable\fP
|
||
|
Enable deriving for the Foldable class.
|
||
|
Implied by \fI\%DeriveTraversable\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XDeriveFunctor\fP
|
||
|
Enable deriving for the Functor class.
|
||
|
Implied by \fI\%DeriveTraversable\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XDeriveGeneric\fP
|
||
|
Enable deriving for the Generic class.
|
||
|
.TP
|
||
|
.B \fI\%\-XDeriveLift\fP
|
||
|
Enable deriving for the Lift class
|
||
|
.TP
|
||
|
.B \fI\%\-XDeriveTraversable\fP
|
||
|
Enable deriving for the Traversable class.
|
||
|
Implies \fI\%DeriveFunctor\fP and \fI\%DeriveFoldable\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XDerivingStrategies\fP
|
||
|
Enables deriving strategies.
|
||
|
.TP
|
||
|
.B \fI\%\-XDisambiguateRecordFields\fP
|
||
|
Enable record field disambiguation.
|
||
|
Implied by \fI\%RecordWildCards\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XDuplicateRecordFields\fP
|
||
|
Allow definition of record types with identically\-named fields.
|
||
|
.TP
|
||
|
.B \fI\%\-XEmptyCase\fP
|
||
|
Allow empty case alternatives.
|
||
|
.TP
|
||
|
.B \fI\%\-XEmptyDataDecls\fP
|
||
|
Allow definition of empty \fBdata\fP types.
|
||
|
.TP
|
||
|
.B \fI\%\-XEmptyDataDeriving\fP
|
||
|
Allow deriving instances of standard type classes for
|
||
|
empty data types.
|
||
|
.TP
|
||
|
.B \fI\%\-XExistentialQuantification\fP
|
||
|
Enable liberalised type synonyms.
|
||
|
.TP
|
||
|
.B \fI\%\-XExplicitForAll\fP
|
||
|
Enable explicit universal quantification.
|
||
|
Implied by \fI\%ScopedTypeVariables\fP, \fI\%LiberalTypeSynonyms\fP,
|
||
|
\fI\%RankNTypes\fP and \fI\%ExistentialQuantification\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XExplicitNamespaces\fP
|
||
|
Enable using the keyword \fBtype\fP to specify the namespace of
|
||
|
entries in imports and exports (\fI\%Explicit namespaces in import/export\fP).
|
||
|
Implied by \fI\%TypeOperators\fP and \fI\%TypeFamilies\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XExtendedDefaultRules\fP
|
||
|
Use GHCi\(aqs extended default rules in a normal module.
|
||
|
.TP
|
||
|
.B \fI\%\-XFlexibleContexts\fP
|
||
|
Enable flexible contexts. Implied by
|
||
|
\fI\%ImplicitParams\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XFlexibleInstances\fP
|
||
|
Enable flexible instances.
|
||
|
Implies \fI\%TypeSynonymInstances\fP\&.
|
||
|
Implied by \fI\%ImplicitParams\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XForeignFunctionInterface\fP
|
||
|
Enable foreign function interface.
|
||
|
.TP
|
||
|
.B \fI\%\-XFunctionalDependencies\fP
|
||
|
Enable functional dependencies.
|
||
|
Implies \fI\%MultiParamTypeClasses\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XGADTs\fP
|
||
|
Enable generalised algebraic data types.
|
||
|
Implies \fI\%GADTSyntax\fP and \fI\%MonoLocalBinds\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XGADTSyntax\fP
|
||
|
Enable generalised algebraic data type syntax.
|
||
|
.TP
|
||
|
.B \fI\%\-XGeneralisedNewtypeDeriving\fP
|
||
|
Enable newtype deriving.
|
||
|
.TP
|
||
|
.B \fI\%\-XGeneralizedNewtypeDeriving\fP
|
||
|
Enable newtype deriving.
|
||
|
.TP
|
||
|
.B \fI\%\-XHexFloatLiterals\fP
|
||
|
Enable support for \fI\%hexadecimal floating point literals\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XImplicitParams\fP
|
||
|
Enable Implicit Parameters.
|
||
|
Implies \fI\%FlexibleContexts\fP and \fI\%FlexibleInstances\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XImpredicativeTypes\fP
|
||
|
Enable impredicative types.
|
||
|
Implies \fI\%RankNTypes\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XIncoherentInstances\fP
|
||
|
Enable incoherent instances.
|
||
|
Implies \fI\%OverlappingInstances\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XInstanceSigs\fP
|
||
|
Enable instance signatures.
|
||
|
.TP
|
||
|
.B \fI\%\-XInterruptibleFFI\fP
|
||
|
Enable interruptible FFI.
|
||
|
.TP
|
||
|
.B \fI\%\-XKindSignatures\fP
|
||
|
Enable kind signatures.
|
||
|
Implied by \fI\%TypeFamilies\fP and \fI\%PolyKinds\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XLambdaCase\fP
|
||
|
Enable lambda\-case expressions.
|
||
|
.TP
|
||
|
.B \fI\%\-XLiberalTypeSynonyms\fP
|
||
|
Enable liberalised type synonyms.
|
||
|
.TP
|
||
|
.B \fI\%\-XMagicHash\fP
|
||
|
Allow \fB#\fP as a postfix modifier on identifiers.
|
||
|
.TP
|
||
|
.B \fI\%\-XMonadComprehensions\fP
|
||
|
Enable monad comprehensions.
|
||
|
.TP
|
||
|
.B \fI\%\-XMonadFailDesugaring\fP
|
||
|
Enable monadfail desugaring.
|
||
|
.TP
|
||
|
.B \fI\%\-XMonoLocalBinds\fP
|
||
|
Enable do not generalise local bindings.
|
||
|
Implied by \fI\%TypeFamilies\fP and \fI\%GADTs\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XMultiParamTypeClasses\fP
|
||
|
Enable multi parameter type classes.
|
||
|
Implied by \fI\%FunctionalDependencies\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XMultiWayIf\fP
|
||
|
Enable multi\-way if\-expressions.
|
||
|
.TP
|
||
|
.B \fI\%\-XNamedFieldPuns\fP
|
||
|
Enable record puns.
|
||
|
.TP
|
||
|
.B \fI\%\-XNamedWildCards\fP
|
||
|
Enable named wildcards.
|
||
|
.TP
|
||
|
.B \fI\%\-XNegativeLiterals\fP
|
||
|
Enable support for negative literals.
|
||
|
.TP
|
||
|
.B \fI\%\-XNoImplicitPrelude\fP
|
||
|
Don\(aqt implicitly \fBimport Prelude\fP\&.
|
||
|
Implied by \fI\%RebindableSyntax\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XNoMonomorphismRestriction\fP
|
||
|
Disable the monomorphism restriction.
|
||
|
.TP
|
||
|
.B \fI\%\-XNoPatternGuards\fP
|
||
|
Disable pattern guards.
|
||
|
Implied by \fBHaskell98\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XNoTraditionalRecordSyntax\fP
|
||
|
Disable support for traditional record syntax
|
||
|
(as supported by Haskell 98) \fBC {f = x}\fP
|
||
|
.TP
|
||
|
.B \fI\%\-XNPlusKPatterns\fP
|
||
|
Enable support for \fBn+k\fP patterns.
|
||
|
Implied by \fBHaskell98\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XNullaryTypeClasses\fP
|
||
|
Deprecated, does nothing. nullary (no parameter) type
|
||
|
classes are now enabled using \fI\%MultiParamTypeClasses\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XNumDecimals\fP
|
||
|
Enable support for \(aqfractional\(aq integer literals.
|
||
|
.TP
|
||
|
.B \fI\%\-XOverlappingInstances\fP
|
||
|
Enable overlapping instances.
|
||
|
.TP
|
||
|
.B \fI\%\-XOverloadedLabels\fP
|
||
|
Enable overloaded labels.
|
||
|
.TP
|
||
|
.B \fI\%\-XOverloadedLists\fP
|
||
|
Enable overloaded lists.
|
||
|
.TP
|
||
|
.B \fI\%\-XOverloadedStrings\fP
|
||
|
Enable overloaded string literals.
|
||
|
.TP
|
||
|
.B \fI\%\-XPackageImports\fP
|
||
|
Enable package\-qualified imports.
|
||
|
.TP
|
||
|
.B \fI\%\-XParallelListComp\fP
|
||
|
Enable parallel list comprehensions.
|
||
|
Implied by \fBParallelArrays\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XPartialTypeSignatures\fP
|
||
|
Enable partial type signatures.
|
||
|
.TP
|
||
|
.B \fI\%\-XPatternSynonyms\fP
|
||
|
Enable pattern synonyms.
|
||
|
.TP
|
||
|
.B \fI\%\-XPolyKinds\fP
|
||
|
Enable kind polymorphism.
|
||
|
Implies \fI\%KindSignatures\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XPostfixOperators\fP
|
||
|
Enable postfix operators.
|
||
|
.TP
|
||
|
.B \fI\%\-XQuasiQuotes\fP
|
||
|
Enable quasiquotation.
|
||
|
.TP
|
||
|
.B \fI\%\-XRank2Types\fP
|
||
|
Enable rank\-2 types.
|
||
|
Synonym for \fI\%RankNTypes\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XRankNTypes\fP
|
||
|
Enable rank\-N types.
|
||
|
Implied by \fI\%ImpredicativeTypes\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XRebindableSyntax\fP
|
||
|
Employ rebindable syntax.
|
||
|
Implies \fI\%NoImplicitPrelude\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XRecordWildCards\fP
|
||
|
Enable record wildcards.
|
||
|
Implies \fI\%DisambiguateRecordFields\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XRecursiveDo\fP
|
||
|
Enable recursive do (mdo) notation.
|
||
|
.TP
|
||
|
.B \fI\%\-XRoleAnnotations\fP
|
||
|
Enable role annotations.
|
||
|
.TP
|
||
|
.B \fI\%\-XSafe\fP
|
||
|
Enable the \fI\%Safe Haskell\fP Safe mode.
|
||
|
.TP
|
||
|
.B \fI\%\-XScopedTypeVariables\fP
|
||
|
Enable lexically\-scoped type variables.
|
||
|
.TP
|
||
|
.B \fI\%\-XStandaloneDeriving\fP
|
||
|
Enable standalone deriving.
|
||
|
.TP
|
||
|
.B \fI\%\-XStaticPointers\fP
|
||
|
Enable static pointers.
|
||
|
.TP
|
||
|
.B \fI\%\-XStrict\fP
|
||
|
Make bindings in the current module strict by default.
|
||
|
.TP
|
||
|
.B \fI\%\-XStrictData\fP
|
||
|
Enable default strict datatype fields.
|
||
|
.TP
|
||
|
.B \fI\%\-XTemplateHaskell\fP
|
||
|
Enable Template Haskell.
|
||
|
.TP
|
||
|
.B \fI\%\-XTemplateHaskellQuotes\fP
|
||
|
Enable quotation subset of
|
||
|
\fI\%Template Haskell\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XTransformListComp\fP
|
||
|
Enable generalised list comprehensions.
|
||
|
.TP
|
||
|
.B \fI\%\-XTrustworthy\fP
|
||
|
Enable the \fI\%Safe Haskell\fP Trustworthy mode.
|
||
|
.TP
|
||
|
.B \fI\%\-XTupleSections\fP
|
||
|
Enable tuple sections.
|
||
|
.TP
|
||
|
.B \fI\%\-XTypeApplications\fP
|
||
|
Enable type application syntax.
|
||
|
.TP
|
||
|
.B \fI\%\-XTypeFamilies\fP
|
||
|
Enable type families.
|
||
|
Implies \fI\%ExplicitNamespaces\fP, \fI\%KindSignatures\fP,
|
||
|
and \fI\%MonoLocalBinds\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XTypeFamilyDependencies\fP
|
||
|
Enable injective type families.
|
||
|
Implies \fI\%TypeFamilies\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XTypeInType\fP
|
||
|
Allow kinds to be used as types,
|
||
|
including explicit kind variable quantification, higher\-rank
|
||
|
kinds, kind synonyms, and kind families.
|
||
|
Implies \fI\%DataKinds\fP, \fI\%KindSignatures\fP,
|
||
|
and \fI\%PolyKinds\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XTypeOperators\fP
|
||
|
Enable type operators.
|
||
|
Implies \fI\%ExplicitNamespaces\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XTypeSynonymInstances\fP
|
||
|
Enable type synonyms in instance heads.
|
||
|
Implied by \fI\%FlexibleInstances\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-XUnboxedSums\fP
|
||
|
Enable unboxed sums.
|
||
|
.TP
|
||
|
.B \fI\%\-XUnboxedTuples\fP
|
||
|
Enable the use of unboxed tuple syntax.
|
||
|
.TP
|
||
|
.B \fI\%\-XUndecidableInstances\fP
|
||
|
Enable undecidable instances.
|
||
|
.TP
|
||
|
.B \fI\%\-XUndecidableSuperClasses\fP
|
||
|
Allow all superclass constraints, including those that may
|
||
|
result in non\-termination of the typechecker.
|
||
|
.TP
|
||
|
.B \fI\%\-XUnicodeSyntax\fP
|
||
|
Enable unicode syntax.
|
||
|
.TP
|
||
|
.B \fI\%\-XUnsafe\fP
|
||
|
Enable \fI\%Safe Haskell\fP Unsafe mode.
|
||
|
.TP
|
||
|
.B \fI\%\-XViewPatterns\fP
|
||
|
Enable view patterns.
|
||
|
.UNINDENT
|
||
|
.SS Linking options
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fB\-c\fP
|
||
|
Stop after generating object (\fB\&.o\fP) file
|
||
|
.TP
|
||
|
.B \fI\%\-debug\fP
|
||
|
Use the debugging runtime
|
||
|
.TP
|
||
|
.B \fI\%\-dylib\-install\-name ⟨path⟩\fP
|
||
|
Set the install name (via \fB\-install_name\fP passed to Apple\(aqs
|
||
|
linker), specifying the full install path of the library file.
|
||
|
Any libraries or executables that link with it later will pick
|
||
|
up that path as their runtime search location for it.
|
||
|
(Darwin/OS X only)
|
||
|
.TP
|
||
|
.B \fI\%\-dynamic\fP
|
||
|
Build dynamically\-linked object files and executables
|
||
|
.TP
|
||
|
.B \fI\%\-dynload\fP
|
||
|
Selects one of a number of modes for finding shared libraries at runtime.
|
||
|
.TP
|
||
|
.B \fI\%\-eventlog\fP
|
||
|
Enable runtime event tracing
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-embed\-manifest\fP
|
||
|
Do not embed the manifest in the executable (Windows only)
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-gen\-manifest\fP
|
||
|
Do not generate a manifest file (Windows only)
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-shared\-implib\fP
|
||
|
Don\(aqt generate an import library for a DLL (Windows only)
|
||
|
.TP
|
||
|
.B \fI\%\-framework ⟨name⟩\fP
|
||
|
On Darwin/OS X/iOS only, link in the framework ⟨name⟩. This
|
||
|
option corresponds to the \fB\-framework\fP option for Apple\(aqs Linker.
|
||
|
.TP
|
||
|
.B \fI\%\-framework\-path ⟨dir⟩\fP
|
||
|
On Darwin/OS X/iOS only, add ⟨dir⟩ to the list of directories
|
||
|
searched for frameworks. This option corresponds to the \fB\-F\fP
|
||
|
option for Apple\(aqs Linker.
|
||
|
.TP
|
||
|
.B \fI\%\-fwhole\-archive\-hs\-libs\fP
|
||
|
When linking a binary executable, this inserts the flag
|
||
|
\fB\-Wl,\-\-whole\-archive\fP before any \fB\-l\fP flags for Haskell
|
||
|
libraries, and \fB\-Wl,\-\-no\-whole\-archive\fP afterwards
|
||
|
.TP
|
||
|
.B \fI\%\-L ⟨dir⟩\fP
|
||
|
Add ⟨dir⟩ to the list of directories searched for libraries
|
||
|
.TP
|
||
|
.B \fI\%\-l ⟨lib⟩\fP
|
||
|
Link in library ⟨lib⟩
|
||
|
.TP
|
||
|
.B \fI\%\-main\-is ⟨thing⟩\fP
|
||
|
Set main module and function
|
||
|
.TP
|
||
|
.B \fI\%\-no\-hs\-main\fP
|
||
|
Don\(aqt assume this program contains \fBmain\fP
|
||
|
.TP
|
||
|
.B \fI\%\-no\-rtsopts\-suggestions\fP
|
||
|
Don\(aqt print RTS suggestions about linking with
|
||
|
\fI\%\-rtsopts[=⟨none|some|all⟩]\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-package ⟨name⟩\fP
|
||
|
Expose package ⟨pkg⟩
|
||
|
.TP
|
||
|
.B \fI\%\-pie\fP
|
||
|
Instruct the linker to produce a position\-independent executable.
|
||
|
.TP
|
||
|
.B \fI\%\-rdynamic\fP
|
||
|
This instructs the linker to add all symbols, not only used
|
||
|
ones, to the dynamic symbol table. Currently Linux and
|
||
|
Windows/MinGW32 only. This is equivalent to using
|
||
|
\fB\-optl \-rdynamic\fP on Linux, and \fB\-optl \-export\-all\-symbols\fP
|
||
|
on Windows.
|
||
|
.TP
|
||
|
.B \fI\%\-rtsopts[=⟨none|some|all⟩]\fP
|
||
|
Control whether the RTS behaviour can be tweaked via command\-line
|
||
|
flags and the \fBGHCRTS\fP environment variable. Using \fBnone\fP
|
||
|
means no RTS flags can be given; \fBsome\fP means only a minimum
|
||
|
of safe options can be given (the default), and \fBall\fP (or no
|
||
|
argument at all) means that all RTS flags are permitted.
|
||
|
.TP
|
||
|
.B \fI\%\-shared\fP
|
||
|
Generate a shared library (as opposed to an executable)
|
||
|
.TP
|
||
|
.B \fI\%\-split\-objs\fP
|
||
|
Split objects (for libraries)
|
||
|
.TP
|
||
|
.B \fI\%\-split\-sections\fP
|
||
|
Split sections for link\-time dead\-code stripping
|
||
|
.TP
|
||
|
.B \fI\%\-static\fP
|
||
|
Use static Haskell libraries
|
||
|
.TP
|
||
|
.B \fI\%\-staticlib\fP
|
||
|
Generate a standalone static library (as opposed to an
|
||
|
executable). This is useful when cross compiling. The
|
||
|
library together with all its dependencies ends up in in a
|
||
|
single static library that can be linked against.
|
||
|
.TP
|
||
|
.B \fI\%\-threaded\fP
|
||
|
Use the threaded runtime
|
||
|
.TP
|
||
|
.B \fI\%\-with\-rtsopts=⟨opts⟩\fP
|
||
|
Set the default RTS options to ⟨opts⟩.
|
||
|
.UNINDENT
|
||
|
.SS Miscellaneous options
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fexternal\-interpreter\fP
|
||
|
Run interpreted code in a separate process
|
||
|
.TP
|
||
|
.B \fI\%\-fglasgow\-exts\fP
|
||
|
Deprecated. Enable most language extensions;
|
||
|
see \fI\%Language options\fP for exactly which ones.
|
||
|
.TP
|
||
|
.B \fI\%\-ghcversion\-file ⟨path to ghcversion.h⟩\fP
|
||
|
(GHC as a C compiler only) Use this \fBghcversion.h\fP file
|
||
|
.TP
|
||
|
.B \fI\%\-H ⟨size⟩\fP
|
||
|
Set the minimum size of the heap to ⟨size⟩
|
||
|
.TP
|
||
|
.B \fI\%\-j[⟨n⟩]\fP
|
||
|
When compiling with \fI\%\-\-make\fP, compile ⟨n⟩ modules
|
||
|
in parallel.
|
||
|
.UNINDENT
|
||
|
.SS Modes of operation
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-\-frontend ⟨module⟩\fP
|
||
|
run GHC with the given frontend plugin; see
|
||
|
\fIfrontend_plugins\fP for details.
|
||
|
.TP
|
||
|
.B \fI\%\-\-help\fP
|
||
|
Display help
|
||
|
.TP
|
||
|
.B \fI\%\-\-info\fP
|
||
|
display information about the compiler
|
||
|
.TP
|
||
|
.B \fI\%\-\-interactive\fP
|
||
|
Interactive mode \- normally used by just running \fBghci\fP;
|
||
|
see \fIghci\fP for details.
|
||
|
.TP
|
||
|
.B \fI\%\-\-make\fP
|
||
|
Build a multi\-module Haskell program, automatically figuring out
|
||
|
dependencies. Likely to be much easier, and faster, than using
|
||
|
\fBmake\fP; see \fI\%Using ghc \-\-make\fP for details.
|
||
|
.TP
|
||
|
.B \fI\%\-\-mk\-dll\fP
|
||
|
DLL\-creation mode (Windows only)
|
||
|
.TP
|
||
|
.B \fI\%\-\-numeric\-version\fP
|
||
|
display GHC version (numeric only)
|
||
|
.TP
|
||
|
.B \fI\%\-\-print\-libdir\fP
|
||
|
display GHC library directory
|
||
|
.TP
|
||
|
.B \fI\%\-\-show\-iface ⟨file⟩\fP
|
||
|
display the contents of an interface file.
|
||
|
.TP
|
||
|
.B \fI\%\-\-show\-options\fP
|
||
|
display the supported command line options
|
||
|
.TP
|
||
|
.B \fI\%\-\-supported\-extensions\fP
|
||
|
display the supported language extensions
|
||
|
.TP
|
||
|
.B \fI\%\-\-version\fP
|
||
|
display GHC version
|
||
|
.TP
|
||
|
.B \fI\%\-e ⟨expr⟩\fP
|
||
|
Evaluate \fBexpr\fP; see \fI\%Expression evaluation mode\fP for details.
|
||
|
.TP
|
||
|
.B \fI\%\-M\fP
|
||
|
generate dependency information suitable for use in a
|
||
|
\fBMakefile\fP; see \fImakefile\-dependencies\fP for details.
|
||
|
.UNINDENT
|
||
|
.SS Individual optimizations
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fcall\-arity\fP
|
||
|
Enable call\-arity optimisation. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fcase\-folding\fP
|
||
|
Enable constant folding in case expressions. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fcase\-merge\fP
|
||
|
Enable case\-merging. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fcmm\-elim\-common\-blocks\fP
|
||
|
Enable Cmm common block elimination. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fcmm\-sink\fP
|
||
|
Enable Cmm sinking. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fcpr\-anal\fP
|
||
|
Turn on CPR analysis in the demand analyser. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fcross\-module\-specialise\fP
|
||
|
Turn on specialisation of overloaded functions imported from
|
||
|
other modules.
|
||
|
.TP
|
||
|
.B \fI\%\-fcse\fP
|
||
|
Enable common sub\-expression elimination. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fdicts\-cheap\fP
|
||
|
Make dictionary\-valued expressions seem cheap to the optimiser.
|
||
|
.TP
|
||
|
.B \fI\%\-fdicts\-strict\fP
|
||
|
Make dictionaries strict
|
||
|
.TP
|
||
|
.B \fI\%\-fdmd\-tx\-dict\-sel\fP
|
||
|
Use a special demand transformer for dictionary selectors.
|
||
|
Always enabled by default.
|
||
|
.TP
|
||
|
.B \fI\%\-fdo\-eta\-reduction\fP
|
||
|
Enable eta\-reduction. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fdo\-lambda\-eta\-expansion\fP
|
||
|
Enable lambda eta\-expansion. Always enabled by default.
|
||
|
.TP
|
||
|
.B \fI\%\-feager\-blackholing\fP
|
||
|
Turn on \fIeager blackholing\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fenable\-rewrite\-rules\fP
|
||
|
Switch on all rewrite rules (including rules generated by
|
||
|
automatic specialisation of overloaded functions). Implied by
|
||
|
\fB\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fexcess\-precision\fP
|
||
|
Enable excess intermediate precision
|
||
|
.TP
|
||
|
.B \fI\%\-fexitification\fP
|
||
|
Enables exitification optimisation. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fexpose\-all\-unfoldings\fP
|
||
|
Expose all unfoldings, even for very large or recursive functions.
|
||
|
.TP
|
||
|
.B \fI\%\-ffloat\-in\fP
|
||
|
Turn on the float\-in transformation. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-ffull\-laziness\fP
|
||
|
Turn on full laziness (floating bindings outwards).
|
||
|
Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-ffun\-to\-thunk\fP
|
||
|
Allow worker\-wrapper to convert a function closure into a thunk
|
||
|
if the function does not use any of its arguments. Off by default.
|
||
|
.TP
|
||
|
.B \fI\%\-fignore\-asserts\fP
|
||
|
Ignore assertions in the source. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fignore\-interface\-pragmas\fP
|
||
|
Ignore pragmas in interface files. Implied by \fI\%\-O0\fP only.
|
||
|
.TP
|
||
|
.B \fI\%\-flate\-dmd\-anal\fP
|
||
|
Run demand analysis again, at the end of the
|
||
|
simplification pipeline
|
||
|
.TP
|
||
|
.B \fI\%\-fliberate\-case\fP
|
||
|
Turn on the liberate\-case transformation. Implied by \fI\%\-O2\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fliberate\-case\-threshold=⟨n⟩\fP
|
||
|
\fIdefault: 2000.\fP Set the size threshold for the liberate\-case
|
||
|
transformation to ⟨n⟩
|
||
|
.TP
|
||
|
.B \fI\%\-fllvm\-pass\-vectors\-in\-regs\fP
|
||
|
Pass vector value in vector registers for function calls
|
||
|
.TP
|
||
|
.B \fI\%\-floopification\fP
|
||
|
Turn saturated self\-recursive tail\-calls into local jumps in the
|
||
|
generated assembly. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-inline\-alloc\-size=⟨n⟩\fP
|
||
|
\fIdefault: 128.\fP Set the maximum size of inline array allocations
|
||
|
to ⟨n⟩ bytes (default: 128).
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-inline\-memcpy\-insns=⟨n⟩\fP
|
||
|
\fIdefault: 32.\fP Inline \fBmemcpy\fP calls if they would generate no
|
||
|
more than ⟨n⟩ pseudo instructions.
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-inline\-memset\-insns=⟨n⟩\fP
|
||
|
\fIdefault: 32.\fP Inline \fBmemset\fP calls if they would generate no
|
||
|
more than ⟨n⟩ pseudo instructions
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-relevant\-binds=⟨n⟩\fP
|
||
|
\fIdefault: 6.\fP Set the maximum number of bindings to display in
|
||
|
type error messages.
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-simplifier\-iterations=⟨n⟩\fP
|
||
|
\fIdefault: 4.\fP Set the max iterations for the simplifier.
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-uncovered\-patterns=⟨n⟩\fP
|
||
|
\fIdefault: 4.\fP Set the maximum number of patterns to display in
|
||
|
warnings about non\-exhaustive ones.
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-valid\-substitutions=⟨n⟩\fP
|
||
|
\fIdefault: 6.\fP Set the maximum number of valid substitutions for
|
||
|
typed holes to display in type error messages.
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-worker\-args=⟨n⟩\fP
|
||
|
\fIdefault: 10.\fP If a worker has that many arguments, none will
|
||
|
be unpacked anymore.
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-opt\-coercion\fP
|
||
|
Turn off the coercion optimiser
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-pre\-inlining\fP
|
||
|
Turn off pre\-inlining
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-state\-hack\fP
|
||
|
Turn off the state hackwhereby any lambda with a real\-world
|
||
|
state token as argument is considered to be single\-entry. Hence
|
||
|
OK to inline things inside it.
|
||
|
.TP
|
||
|
.B \fI\%\-fomit\-interface\-pragmas\fP
|
||
|
Don\(aqt generate interface pragmas. Implied by \fI\%\-O0\fP only.
|
||
|
.TP
|
||
|
.B \fI\%\-fomit\-yields\fP
|
||
|
Omit heap checks when no allocation is being performed.
|
||
|
.TP
|
||
|
.B \fI\%\-foptimal\-applicative\-do\fP
|
||
|
Use a slower but better algorithm for ApplicativeDo
|
||
|
.TP
|
||
|
.B \fI\%\-fpedantic\-bottoms\fP
|
||
|
Make GHC be more precise about its treatment of bottom (but see
|
||
|
also \fI\%\-fno\-state\-hack\fP). In particular, GHC will not
|
||
|
eta\-expand through a case expression.
|
||
|
.TP
|
||
|
.B \fI\%\-fregs\-graph\fP
|
||
|
Use the graph colouring register allocator for register
|
||
|
allocation in the native code generator. Implied by \fI\%\-O2\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fregs\-iterative\fP
|
||
|
Use the iterative coalescing graph colouring register allocator
|
||
|
in the native code generator.
|
||
|
.TP
|
||
|
.B \fI\%\-fsimpl\-tick\-factor=⟨n⟩\fP
|
||
|
\fIdefault: 100.\fP Set the percentage factor for simplifier ticks.
|
||
|
.TP
|
||
|
.B \fI\%\-fsimplifier\-phases=⟨n⟩\fP
|
||
|
\fIdefault: 2.\fP Set the number of phases for the simplifier.
|
||
|
Ignored with \fI\%\-O0\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fsolve\-constant\-dicts\fP
|
||
|
When solving constraints, try to eagerly solve
|
||
|
super classes using available dictionaries.
|
||
|
.TP
|
||
|
.B \fI\%\-fspec\-constr\fP
|
||
|
Turn on the SpecConstr transformation. Implied by \fI\%\-O2\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fspec\-constr\-count=⟨n⟩\fP
|
||
|
default: 3.* Set to ⟨n⟩ the maximum number of specialisations that
|
||
|
will be created for any one function by the SpecConstr
|
||
|
transformation.
|
||
|
.TP
|
||
|
.B \fI\%\-fspec\-constr\-keen\fP
|
||
|
Specialize a call with an explicit constructor argument,
|
||
|
even if the argument is not scrutinised in the body of the function
|
||
|
.TP
|
||
|
.B \fI\%\-fspec\-constr\-threshold=⟨n⟩\fP
|
||
|
\fIdefault: 2000.\fP Set the size threshold for the SpecConstr
|
||
|
transformation to ⟨n⟩.
|
||
|
.TP
|
||
|
.B \fI\%\-fspecialise\fP
|
||
|
Turn on specialisation of overloaded functions. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fspecialise\-aggressively\fP
|
||
|
Turn on specialisation of overloaded functions regardless of
|
||
|
size, if unfolding is available
|
||
|
.TP
|
||
|
.B \fI\%\-fstatic\-argument\-transformation\fP
|
||
|
Turn on the static argument transformation.
|
||
|
.TP
|
||
|
.B \fI\%\-fstg\-cse\fP
|
||
|
Enable common sub\-expression elimination on the STG
|
||
|
intermediate language
|
||
|
.TP
|
||
|
.B \fI\%\-fstrictness\fP
|
||
|
Turn on strictness analysis.
|
||
|
Implied by \fI\%\-O\fP\&. Implies \fB\-fworker\-wrapper\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fstrictness\-before=⟨n⟩\fP
|
||
|
Run an additional strictness analysis before simplifier phase ⟨n⟩
|
||
|
.TP
|
||
|
.B \fI\%\-funbox\-small\-strict\-fields\fP
|
||
|
Flatten strict constructor fields with a pointer\-sized
|
||
|
representation. Implied by \fI\%\-O\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-funbox\-strict\-fields\fP
|
||
|
Flatten strict constructor fields
|
||
|
.TP
|
||
|
.B \fI\%\-funfolding\-creation\-threshold=⟨n⟩\fP
|
||
|
\fIdefault: 750.\fP Tweak unfolding settings.
|
||
|
.TP
|
||
|
.B \fI\%\-funfolding\-dict\-discount=⟨n⟩\fP
|
||
|
\fIdefault: 30.\fP Tweak unfolding settings.
|
||
|
.TP
|
||
|
.B \fI\%\-funfolding\-fun\-discount=⟨n⟩\fP
|
||
|
\fIdefault: 60.\fP Tweak unfolding settings.
|
||
|
.TP
|
||
|
.B \fI\%\-funfolding\-keeness\-factor=⟨n⟩\fP
|
||
|
\fIdefault: 1.5.\fP Tweak unfolding settings.
|
||
|
.TP
|
||
|
.B \fI\%\-funfolding\-use\-threshold=⟨n⟩\fP
|
||
|
\fIdefault: 60.\fP Tweak unfolding settings.
|
||
|
.TP
|
||
|
.B \fI\%\-fvectorisation\-avoidance\fP
|
||
|
Enable vectorisation avoidance. Always enabled by default.
|
||
|
.TP
|
||
|
.B \fI\%\-fvectorise\fP
|
||
|
Enable vectorisation of nested data parallelism
|
||
|
.UNINDENT
|
||
|
.SS Optimization levels
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-O\fP
|
||
|
Enable level 1 optimisations
|
||
|
.TP
|
||
|
.B \fI\%\-O0\fP
|
||
|
Disable optimisations (default)
|
||
|
.TP
|
||
|
.B \fI\%\-O2\fP
|
||
|
Enable level 2 optimisations
|
||
|
.TP
|
||
|
.B \fI\%\-Odph\fP
|
||
|
Enable level 2 optimisations, set
|
||
|
\fB\-fmax\-simplifier\-iterations=20\fP
|
||
|
and \fB\-fsimplifier\-phases=3\fP\&.
|
||
|
.UNINDENT
|
||
|
.SS Package options
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-clear\-package\-db\fP
|
||
|
Clear the package db stack.
|
||
|
.TP
|
||
|
.B \fI\%\-distrust ⟨pkg⟩\fP
|
||
|
Expose package ⟨pkg⟩ and set it to be distrusted. See
|
||
|
\fI\%Safe Haskell\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-distrust\-all\-packages\fP
|
||
|
Distrust all packages by default. See \fI\%Safe Haskell\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fpackage\-trust\fP
|
||
|
Enable \fI\%Safe Haskell\fP trusted package
|
||
|
requirement for trustworthy modules.
|
||
|
.TP
|
||
|
.B \fI\%\-global\-package\-db\fP
|
||
|
Add the global package db to the stack.
|
||
|
.TP
|
||
|
.B \fI\%\-hide\-all\-packages\fP
|
||
|
Hide all packages by default
|
||
|
.TP
|
||
|
.B \fI\%\-hide\-package ⟨pkg⟩\fP
|
||
|
Hide package ⟨pkg⟩
|
||
|
.TP
|
||
|
.B \fI\%\-ignore\-package ⟨pkg⟩\fP
|
||
|
Ignore package ⟨pkg⟩
|
||
|
.TP
|
||
|
.B \fI\%\-no\-auto\-link\-packages\fP
|
||
|
Don\(aqt automatically link in the base and rts packages.
|
||
|
.TP
|
||
|
.B \fI\%\-no\-global\-package\-db\fP
|
||
|
Remove the global package db from the stack.
|
||
|
.TP
|
||
|
.B \fI\%\-no\-user\-package\-db\fP
|
||
|
Remove the user\(aqs package db from the stack.
|
||
|
.TP
|
||
|
.B \fI\%\-package ⟨pkg⟩\fP
|
||
|
Expose package ⟨pkg⟩
|
||
|
.TP
|
||
|
.B \fI\%\-package\-db ⟨file⟩\fP
|
||
|
Add ⟨file⟩ to the package db stack.
|
||
|
.TP
|
||
|
.B \fI\%\-package\-env ⟨file⟩|⟨name⟩\fP
|
||
|
Use the specified package environment.
|
||
|
.TP
|
||
|
.B \fI\%\-package\-id ⟨unit\-id⟩\fP
|
||
|
Expose package by id ⟨unit\-id⟩
|
||
|
.TP
|
||
|
.B \fI\%\-this\-unit\-id ⟨unit\-id⟩\fP
|
||
|
Compile to be part of unit (i.e. package)
|
||
|
⟨unit\-id⟩
|
||
|
.TP
|
||
|
.B \fI\%\-trust ⟨pkg⟩\fP
|
||
|
Expose package ⟨pkg⟩ and set it to be trusted. See
|
||
|
\fI\%Safe Haskell\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-user\-package\-db\fP
|
||
|
Add the user\(aqs package db to the stack.
|
||
|
.UNINDENT
|
||
|
.SS Phases of compilation
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-C\fP
|
||
|
Stop after generating C (\fB\&.hc\fP file)
|
||
|
.TP
|
||
|
.B \fI\%\-c\fP
|
||
|
Stop after generating object (\fB\&.o\fP) file
|
||
|
.TP
|
||
|
.B \fI\%\-E\fP
|
||
|
Stop after preprocessing (\fB\&.hspp\fP file)
|
||
|
.TP
|
||
|
.B \fI\%\-F\fP
|
||
|
Enable the use of a \fI\%pre\-processor\fP
|
||
|
(set with \fI\%\-pgmF ⟨cmd⟩\fP)
|
||
|
.TP
|
||
|
.B \fI\%\-S\fP
|
||
|
Stop after generating assembly (\fB\&.s\fP file)
|
||
|
.TP
|
||
|
.B \fI\%\-x ⟨suffix⟩\fP
|
||
|
Override default behaviour for source files
|
||
|
.UNINDENT
|
||
|
.SS Overriding external programs
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-pgma ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the assembler
|
||
|
.TP
|
||
|
.B \fI\%\-pgmc ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the C compiler
|
||
|
.TP
|
||
|
.B \fI\%\-pgmdll ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the DLL generator
|
||
|
.TP
|
||
|
.B \fI\%\-pgmF ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the pre\-processor (with \fB\-F\fP only)
|
||
|
.TP
|
||
|
.B \fI\%\-pgmi ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the external interpreter command.
|
||
|
.TP
|
||
|
.B \fI\%\-pgmL ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the literate pre\-processor
|
||
|
.TP
|
||
|
.B \fI\%\-pgml ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the linker
|
||
|
.TP
|
||
|
.B \fI\%\-pgmlc ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the LLVM compiler
|
||
|
.TP
|
||
|
.B \fI\%\-pgmlibtool ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the command for libtool (with \fB\-staticlib\fP only).
|
||
|
.TP
|
||
|
.B \fI\%\-pgmlo ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the LLVM optimiser
|
||
|
.TP
|
||
|
.B \fI\%\-pgmP ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the C pre\-processor (with \fB\-cpp\fP only)
|
||
|
.TP
|
||
|
.B \fI\%\-pgms ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the splitter
|
||
|
.TP
|
||
|
.B \fI\%\-pgmwindres ⟨cmd⟩\fP
|
||
|
Use ⟨cmd⟩ as the program for embedding manifests on Windows.
|
||
|
.UNINDENT
|
||
|
.SS Phase\-specific options
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-opta ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the assembler
|
||
|
.TP
|
||
|
.B \fI\%\-optc ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the C compiler
|
||
|
.TP
|
||
|
.B \fI\%\-optdll ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the DLL generator
|
||
|
.TP
|
||
|
.B \fI\%\-optF ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the custom pre\-processor
|
||
|
.TP
|
||
|
.B \fI\%\-opti ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the interpreter sub\-process.
|
||
|
.TP
|
||
|
.B \fI\%\-optL ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the literate pre\-processor
|
||
|
.TP
|
||
|
.B \fI\%\-optl ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the linker
|
||
|
.TP
|
||
|
.B \fI\%\-optlc ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the LLVM compiler
|
||
|
.TP
|
||
|
.B \fI\%\-optlo ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to the LLVM optimiser
|
||
|
.TP
|
||
|
.B \fI\%\-optP ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to cpp (with \fB\-cpp\fP only)
|
||
|
.TP
|
||
|
.B \fI\%\-optwindres ⟨option⟩\fP
|
||
|
pass ⟨option⟩ to \fBwindres\fP\&.
|
||
|
.UNINDENT
|
||
|
.SS Platform\-specific options
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-msse2\fP
|
||
|
(x86 only) Use SSE2 for floating\-point operations
|
||
|
.TP
|
||
|
.B \fI\%\-msse4.2\fP
|
||
|
(x86 only) Use SSE4.2 for floating\-point operations
|
||
|
.UNINDENT
|
||
|
.SS Compiler plugins
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fplugin\-opt=⟨module⟩:⟨args⟩\fP
|
||
|
Give arguments to a plugin module; module must be specified with
|
||
|
\fI\%\-fplugin=⟨module⟩\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fplugin=⟨module⟩\fP
|
||
|
Load a plugin exported by a given module
|
||
|
.TP
|
||
|
.B \fI\%\-hide\-all\-plugin\-packages\fP
|
||
|
Hide all packages for plugins by default
|
||
|
.TP
|
||
|
.B \fI\%\-plugin\-package ⟨pkg⟩\fP
|
||
|
Expose ⟨pkg⟩ for plugins
|
||
|
.TP
|
||
|
.B \fI\%\-plugin\-package\-id ⟨pkg\-id⟩\fP
|
||
|
Expose ⟨pkg\-id⟩ for plugins
|
||
|
.UNINDENT
|
||
|
.SS Profiling
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-prof\-auto\fP
|
||
|
Disables any previous \fI\%\-fprof\-auto\fP,
|
||
|
\fI\%\-fprof\-auto\-top\fP, or \fI\%\-fprof\-auto\-exported\fP options.
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-prof\-cafs\fP
|
||
|
Disables any previous \fI\%\-fprof\-cafs\fP option.
|
||
|
.TP
|
||
|
.B \fI\%\-fno\-prof\-count\-entries\fP
|
||
|
Do not collect entry counts
|
||
|
.TP
|
||
|
.B \fI\%\-fprof\-auto\fP
|
||
|
Auto\-add \fBSCC\fP\e s to all bindings not marked INLINE
|
||
|
.TP
|
||
|
.B \fI\%\-fprof\-auto\-calls\fP
|
||
|
Auto\-add \fBSCC\fP\e s to all call sites
|
||
|
.TP
|
||
|
.B \fI\%\-fprof\-auto\-exported\fP
|
||
|
Auto\-add \fBSCC\fP\e s to all exported bindings not marked INLINE
|
||
|
.TP
|
||
|
.B \fI\%\-fprof\-auto\-top\fP
|
||
|
Auto\-add \fBSCC\fP\e s to all top\-level bindings not marked INLINE
|
||
|
.TP
|
||
|
.B \fI\%\-fprof\-cafs\fP
|
||
|
Auto\-add \fBSCC\fP\e s to all CAFs
|
||
|
.TP
|
||
|
.B \fI\%\-prof\fP
|
||
|
Turn on profiling
|
||
|
.TP
|
||
|
.B \fI\%\-ticky\fP
|
||
|
\fI\%Turn on ticky\-ticky profiling\fP
|
||
|
.UNINDENT
|
||
|
.SS Program coverage
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fhpc\fP
|
||
|
Turn on Haskell program coverage instrumentation
|
||
|
.UNINDENT
|
||
|
.SS Recompilation checking
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fforce\-recomp\fP
|
||
|
Turn off recompilation checking. This is implied by any
|
||
|
\fB\-ddump\-X\fP option when compiling a single file
|
||
|
(i.e. when using \fB\-c\fP).
|
||
|
.TP
|
||
|
.B \fI\%\-fignore\-hpc\-changes\fP
|
||
|
Do not recompile modules just to match changes to
|
||
|
HPC flags. This is especially useful for avoiding recompilation
|
||
|
when using GHCi, and is enabled by default for GHCi.
|
||
|
.TP
|
||
|
.B \fI\%\-fignore\-optim\-changes\fP
|
||
|
Do not recompile modules just to match changes to
|
||
|
optimisation flags. This is especially useful for avoiding
|
||
|
recompilation when using GHCi, and is enabled by default for
|
||
|
GHCi.
|
||
|
.UNINDENT
|
||
|
.SS Redirecting output
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-\-exclude\-module=⟨file⟩\fP
|
||
|
Regard \fB⟨file⟩\fP as "stable"; i.e., exclude it from having
|
||
|
dependencies on it.
|
||
|
.TP
|
||
|
.B \fI\%\-ddump\-mod\-cycles\fP
|
||
|
Dump module cycles
|
||
|
.TP
|
||
|
.B \fI\%\-dep\-makefile ⟨file⟩\fP
|
||
|
Use ⟨file⟩ as the makefile
|
||
|
.TP
|
||
|
.B \fI\%\-dep\-suffix ⟨suffix⟩\fP
|
||
|
Make dependencies that declare that files with suffix
|
||
|
\fB\&.⟨suf⟩⟨osuf⟩\fP depend on interface files with suffix \fB\&.⟨suf⟩hi\fP
|
||
|
.TP
|
||
|
.B \fI\%\-dumpdir ⟨dir⟩\fP
|
||
|
redirect dump files
|
||
|
.TP
|
||
|
.B \fI\%\-hcsuf ⟨suffix⟩\fP
|
||
|
set the suffix to use for intermediate C files
|
||
|
.TP
|
||
|
.B \fI\%\-hidir ⟨dir⟩\fP
|
||
|
set directory for interface files
|
||
|
.TP
|
||
|
.B \fI\%\-hisuf ⟨suffix⟩\fP
|
||
|
set the suffix to use for interface files
|
||
|
.TP
|
||
|
.B \fI\%\-include\-pkg\-deps\fP
|
||
|
Regard modules imported from packages as unstable
|
||
|
.TP
|
||
|
.B \fI\%\-o ⟨file⟩\fP
|
||
|
set output filename
|
||
|
.TP
|
||
|
.B \fI\%\-odir ⟨dir⟩\fP
|
||
|
set directory for object files
|
||
|
.TP
|
||
|
.B \fI\%\-ohi ⟨file⟩\fP
|
||
|
set the filename in which to put the interface
|
||
|
.TP
|
||
|
.B \fI\%\-osuf ⟨suffix⟩\fP
|
||
|
set the output file suffix
|
||
|
.TP
|
||
|
.B \fI\%\-outputdir ⟨dir⟩\fP
|
||
|
set output directory
|
||
|
.TP
|
||
|
.B \fI\%\-stubdir ⟨dir⟩\fP
|
||
|
redirect FFI stub files
|
||
|
.UNINDENT
|
||
|
.SS Temporary files
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-tmpdir ⟨dir⟩\fP
|
||
|
set the directory for temporary files
|
||
|
.UNINDENT
|
||
|
.SS Verbosity options
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fdiagnostics\-color=⟨always|auto|never⟩\fP
|
||
|
Use colors in error messages
|
||
|
.TP
|
||
|
.B \fI\%\-fdiagnostics\-show\-caret\fP
|
||
|
Whether to show snippets of original source code
|
||
|
.TP
|
||
|
.B \fI\%\-ferror\-spans\fP
|
||
|
Output full span in error messages
|
||
|
.TP
|
||
|
.B \fI\%\-fhide\-source\-paths\fP
|
||
|
hide module source and object paths
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-equality\-relations\fP
|
||
|
Distinguish between equality relations when printing
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-expanded\-synonyms\fP
|
||
|
In type errors, also print type\-synonym\-expanded types.
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-explicit\-coercions\fP
|
||
|
Print coercions in types
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-explicit\-foralls\fP
|
||
|
Print explicit \fBforall\fP quantification in types.
|
||
|
See also \fB\-XExplicitForAll\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-explicit\-kinds\fP
|
||
|
Print explicit kind foralls and kind arguments in types.
|
||
|
See also \fB\-XKindSignatures\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-explicit\-runtime\-rep\fP
|
||
|
Print \fBRuntimeRep\fP variables in types which are
|
||
|
runtime\-representation polymorphic.
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-explicit\-runtime\-reps\fP
|
||
|
Print \fBRuntimeRep\fP variables in types which are
|
||
|
runtime\-representation polymorphic.
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-potential\-instances\fP
|
||
|
display all available instances in type error messages
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-typechecker\-elaboration\fP
|
||
|
Print extra information from typechecker.
|
||
|
.TP
|
||
|
.B \fI\%\-fprint\-unicode\-syntax\fP
|
||
|
Use unicode syntax when printing expressions, types and kinds.
|
||
|
See also \fB\-XUnicodeSyntax\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fshow\-hole\-constraints\fP
|
||
|
Show constraints when reporting typed holes
|
||
|
.TP
|
||
|
.B \fI\%\-Rghc\-timing\fP
|
||
|
Summarise timing stats for GHC (same as \fB+RTS \-tstderr\fP).
|
||
|
.TP
|
||
|
.B \fI\%\-v\fP
|
||
|
verbose mode (equivalent to \fB\-v3\fP)
|
||
|
.TP
|
||
|
.B \fI\%\-v⟨n⟩\fP
|
||
|
set verbosity level
|
||
|
.UNINDENT
|
||
|
.SS Warnings
|
||
|
.INDENT 0.0
|
||
|
.TP
|
||
|
.B \fI\%\-fdefer\-out\-of\-scope\-variables\fP
|
||
|
Convert variable out of scope variables errors into warnings.
|
||
|
Implied by \fI\%\-fdefer\-type\-errors\fP\&.
|
||
|
See also \fI\%\-Wdeferred\-out\-of\-scope\-variables\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fdefer\-type\-errors\fP
|
||
|
Turn type errors into warnings, \fIdeferring the error until
|
||
|
runtime\fP\&. Implies
|
||
|
\fI\%\-fdefer\-typed\-holes\fP and
|
||
|
\fI\%\-fdefer\-out\-of\-scope\-variables\fP\&.
|
||
|
See also \fI\%\-Wdeferred\-type\-errors\fP
|
||
|
.TP
|
||
|
.B \fI\%\-fdefer\-typed\-holes\fP
|
||
|
Convert \fItyped hole\fP errors into warnings,
|
||
|
\fIdeferring the error until runtime\fP\&.
|
||
|
Implied by \fI\%\-fdefer\-type\-errors\fP\&.
|
||
|
See also \fI\%\-Wtyped\-holes\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-fhelpful\-errors\fP
|
||
|
Make suggestions for mis\-spelled names.
|
||
|
.TP
|
||
|
.B \fI\%\-fmax\-pmcheck\-iterations=⟨n⟩\fP
|
||
|
the iteration limit for the pattern match checker
|
||
|
.TP
|
||
|
.B \fI\%\-fshow\-warning\-groups\fP
|
||
|
show which group an emitted warning belongs to.
|
||
|
.TP
|
||
|
.B \fI\%\-W\fP
|
||
|
enable normal warnings
|
||
|
.TP
|
||
|
.B \fI\%\-w\fP
|
||
|
disable all warnings
|
||
|
.TP
|
||
|
.B \fI\%\-Wall\fP
|
||
|
enable almost all warnings (details in \fI\%Warnings and sanity\-checking\fP)
|
||
|
.TP
|
||
|
.B \fI\%\-Wall\-missed\-specialisations\fP
|
||
|
warn when specialisation of any overloaded function fails.
|
||
|
.TP
|
||
|
.B \fI\%\-Wamp\fP
|
||
|
\fI(deprecated)\fP warn on definitions conflicting with the
|
||
|
Applicative\-Monad Proposal (AMP)
|
||
|
.TP
|
||
|
.B \fI\%\-Wcompat\fP
|
||
|
enable future compatibility warnings
|
||
|
(details in \fI\%Warnings and sanity\-checking\fP)
|
||
|
.TP
|
||
|
.B \fI\%\-Wcpp\-undef\fP
|
||
|
warn on uses of the \fI#if\fP directive on undefined identifiers
|
||
|
.TP
|
||
|
.B \fI\%\-Wdeferred\-out\-of\-scope\-variables\fP
|
||
|
Report warnings when variable out\-of\-scope errors are
|
||
|
\fIdeferred until runtime\fP\&.
|
||
|
See \fI\%\-fdefer\-out\-of\-scope\-variables\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-Wdeferred\-type\-errors\fP
|
||
|
Report warnings when \fIdeferred type errors\fP are enabled. This option is enabled by
|
||
|
default. See \fI\%\-fdefer\-type\-errors\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-Wdeprecated\-flags\fP
|
||
|
warn about uses of commandline flags that are deprecated
|
||
|
.TP
|
||
|
.B \fI\%\-Wdeprecations\fP
|
||
|
warn about uses of functions & types that have warnings or
|
||
|
deprecated pragmas. Alias for \fI\%\-Wwarnings\-deprecations\fP
|
||
|
.TP
|
||
|
.B \fI\%\-Wdodgy\-exports\fP
|
||
|
warn about dodgy exports
|
||
|
.TP
|
||
|
.B \fI\%\-Wdodgy\-foreign\-imports\fP
|
||
|
warn about dodgy foreign imports
|
||
|
.TP
|
||
|
.B \fI\%\-Wdodgy\-imports\fP
|
||
|
warn about dodgy imports
|
||
|
.TP
|
||
|
.B \fI\%\-Wduplicate\-constraints\fP
|
||
|
warn when a constraint appears duplicated in a type signature
|
||
|
.TP
|
||
|
.B \fI\%\-Wduplicate\-exports\fP
|
||
|
warn when an entity is exported multiple times
|
||
|
.TP
|
||
|
.B \fI\%\-Wempty\-enumerations\fP
|
||
|
warn about enumerations that are empty
|
||
|
.TP
|
||
|
.B \fI\%\-Werror\fP
|
||
|
make warnings fatal
|
||
|
.TP
|
||
|
.B \fI\%\-Weverything\fP
|
||
|
enable all warnings supported by GHC
|
||
|
.TP
|
||
|
.B \fI\%\-Whi\-shadowing\fP
|
||
|
warn when a \fB\&.hi\fP file in the current directory shadows a library
|
||
|
.TP
|
||
|
.B \fI\%\-Widentities\fP
|
||
|
warn about uses of Prelude numeric conversions that are probably
|
||
|
the identity (and hence could be omitted)
|
||
|
.TP
|
||
|
.B \fI\%\-Wimplicit\-prelude\fP
|
||
|
warn when the Prelude is implicitly imported
|
||
|
.TP
|
||
|
.B \fI\%\-Wincomplete\-patterns\fP
|
||
|
warn when a pattern match could fail
|
||
|
.TP
|
||
|
.B \fI\%\-Wincomplete\-record\-updates\fP
|
||
|
warn when a record update could fail
|
||
|
.TP
|
||
|
.B \fI\%\-Wincomplete\-uni\-patterns\fP
|
||
|
warn when a pattern match in a lambda expression or
|
||
|
pattern binding could fail
|
||
|
.TP
|
||
|
.B \fI\%\-Winline\-rule\-shadowing\fP
|
||
|
Warn if a rewrite RULE might fail to fire because the
|
||
|
function might be inlined before the rule has a chance to fire.
|
||
|
See \fIrules\-inline\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissed\-specialisations\fP
|
||
|
warn when specialisation of an imported, overloaded function
|
||
|
fails.
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-export\-lists\fP
|
||
|
warn when a module declaration does not explicitly list all
|
||
|
exports
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-exported\-signatures\fP
|
||
|
warn about top\-level functions without signatures, only if they
|
||
|
are exported. takes precedence over \-Wmissing\-signatures
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-exported\-sigs\fP
|
||
|
\fI(deprecated)\fP
|
||
|
warn about top\-level functions without signatures, only if they
|
||
|
are exported. takes precedence over \-Wmissing\-signatures
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-fields\fP
|
||
|
warn when fields of a record are uninitialised
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-home\-modules\fP
|
||
|
warn when encountering a home module imported, but not listed
|
||
|
on the command line. Useful for cabal to ensure GHC won\(aqt pick
|
||
|
up modules, not listed neither in \fBexposed\-modules\fP, nor in
|
||
|
\fBother\-modules\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-import\-lists\fP
|
||
|
warn when an import declaration does not explicitly list all the
|
||
|
names brought into scope
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-local\-signatures\fP
|
||
|
warn about polymorphic local bindings without signatures
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-local\-sigs\fP
|
||
|
\fI(deprecated)\fP
|
||
|
warn about polymorphic local bindings without signatures
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-methods\fP
|
||
|
warn when class methods are undefined
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-monadfail\-instances\fP
|
||
|
Warn when a failable pattern is used in a do\-block that does
|
||
|
not have a \fBMonadFail\fP instance.
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-pattern\-synonym\-signatures\fP
|
||
|
warn when pattern synonyms do not have type signatures
|
||
|
.TP
|
||
|
.B \fI\%\-Wmissing\-signatures\fP
|
||
|
warn about top\-level functions without signatures
|
||
|
.TP
|
||
|
.B \fI\%\-Wmonomorphism\-restriction\fP
|
||
|
warn when the Monomorphism Restriction is applied
|
||
|
.TP
|
||
|
.B \fI\%\-Wname\-shadowing\fP
|
||
|
warn when names are shadowed
|
||
|
.TP
|
||
|
.B \fI\%\-Wno\-compat\fP
|
||
|
Disables all warnings enabled by \fI\%\-Wcompat\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-Wnoncanonical\-monad\-instances\fP
|
||
|
warn when \fBApplicative\fP or \fBMonad\fP instances have
|
||
|
noncanonical definitions of \fBreturn\fP, \fBpure\fP, \fB(>>)\fP,
|
||
|
or \fB(*>)\fP\&.
|
||
|
See flag description in \fI\%Warnings and sanity\-checking\fP for more details.
|
||
|
.TP
|
||
|
.B \fI\%\-Wnoncanonical\-monadfail\-instances\fP
|
||
|
warn when \fBMonad\fP or \fBMonadFail\fP instances have
|
||
|
noncanonical definitions of \fBfail\fP\&.
|
||
|
See flag description in \fI\%Warnings and sanity\-checking\fP for more details.
|
||
|
.TP
|
||
|
.B \fI\%\-Wnoncanonical\-monoid\-instances\fP
|
||
|
warn when \fBSemigroup\fP or \fBMonoid\fP instances have
|
||
|
noncanonical definitions of \fB(<>)\fP or \fBmappend\fP\&.
|
||
|
See flag description in \fI\%Warnings and sanity\-checking\fP for more details.
|
||
|
.TP
|
||
|
.B \fI\%\-Worphans\fP
|
||
|
warn when the module contains \fIorphan instance declarations
|
||
|
or rewrite rules\fP
|
||
|
.TP
|
||
|
.B \fI\%\-Woverflowed\-literals\fP
|
||
|
warn about literals that will overflow their type
|
||
|
.TP
|
||
|
.B \fI\%\-Woverlapping\-patterns\fP
|
||
|
warn about overlapping patterns
|
||
|
.TP
|
||
|
.B \fI\%\-Wpartial\-fields\fP
|
||
|
warn when defining a partial record field.
|
||
|
.TP
|
||
|
.B \fI\%\-Wpartial\-type\-signatures\fP
|
||
|
warn about holes in partial type signatures when
|
||
|
\fB\-XPartialTypeSignatures\fP is enabled. Not applicable when
|
||
|
\fB\-XPartialTypesignatures\fP is not enabled, in which case
|
||
|
errors are generated for such holes. See
|
||
|
\fIpartial\-type\-signatures\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-Wredundant\-constraints\fP
|
||
|
Have the compiler warn about redundant constraints in type
|
||
|
signatures.
|
||
|
.TP
|
||
|
.B \fI\%\-Wsafe\fP
|
||
|
warn if the module being compiled is regarded to be safe.
|
||
|
.TP
|
||
|
.B \fI\%\-Wsemigroup\fP
|
||
|
warn when a \fBMonoid\fP is not \fBSemigroup\fP, and on non\-
|
||
|
\fBSemigroup\fP definitions of \fB(<>)\fP?
|
||
|
.TP
|
||
|
.B \fI\%\-Wsimplifiable\-class\-constraints\fP
|
||
|
2arn about class constraints in a type signature that can
|
||
|
be simplified using a top\-level instance declaration.
|
||
|
.TP
|
||
|
.B \fI\%\-Wtabs\fP
|
||
|
warn if there are tabs in the source file
|
||
|
.TP
|
||
|
.B \fI\%\-Wtrustworthy\-safe\fP
|
||
|
warn if the module being compiled is marked as
|
||
|
\fI\%Trustworthy\fP but it could instead be marked as
|
||
|
\fI\%Safe\fP, a more informative bound.
|
||
|
.TP
|
||
|
.B \fI\%\-Wtype\-defaults\fP
|
||
|
warn when defaulting happens
|
||
|
.TP
|
||
|
.B \fI\%\-Wtyped\-holes\fP
|
||
|
Report warnings when \fItyped hole\fP errors are
|
||
|
\fIdeferred until runtime\fP\&. See
|
||
|
\fI\%\-fdefer\-typed\-holes\fP\&.
|
||
|
.TP
|
||
|
.B \fI\%\-Wunbanged\-strict\-patterns\fP
|
||
|
warn on pattern bind of unlifted variable that is neither bare
|
||
|
nor banged
|
||
|
.TP
|
||
|
.B \fI\%\-Wunrecognised\-pragmas\fP
|
||
|
warn about uses of pragmas that GHC doesn\(aqt recognise
|
||
|
.TP
|
||
|
.B \fI\%\-Wunrecognised\-warning\-flags\fP
|
||
|
throw a warning when an unreconised \fB\-W...\fP flag is
|
||
|
encountered on the command line.
|
||
|
.TP
|
||
|
.B \fI\%\-Wunsafe\fP
|
||
|
warn if the module being compiled is regarded to be unsafe.
|
||
|
See \fI\%Safe Haskell\fP
|
||
|
.TP
|
||
|
.B \fI\%\-Wunsupported\-calling\-conventions\fP
|
||
|
warn about use of an unsupported calling convention
|
||
|
.TP
|
||
|
.B \fI\%\-Wunsupported\-llvm\-version\fP
|
||
|
Warn when using \fB\-fllvm\fP with an unsupported
|
||
|
version of LLVM.
|
||
|
.TP
|
||
|
.B \fI\%\-Wunticked\-promoted\-constructors\fP
|
||
|
warn if promoted constructors are not ticked
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-binds\fP
|
||
|
warn about bindings that are unused. Alias for
|
||
|
\fI\%\-Wunused\-top\-binds\fP, \fI\%\-Wunused\-local\-binds\fP and
|
||
|
\fI\%\-Wunused\-pattern\-binds\fP
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-do\-bind\fP
|
||
|
warn about do bindings that appear to throw away values of types
|
||
|
other than \fB()\fP
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-foralls\fP
|
||
|
warn about type variables in user\-written
|
||
|
\fBforall\fP\es that are unused
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-imports\fP
|
||
|
warn about unnecessary imports
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-local\-binds\fP
|
||
|
warn about local bindings that are unused
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-matches\fP
|
||
|
warn about variables in patterns that aren\(aqt used
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-pattern\-binds\fP
|
||
|
warn about pattern match bindings that are unused
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-top\-binds\fP
|
||
|
warn about top\-level bindings that are unused
|
||
|
.TP
|
||
|
.B \fI\%\-Wunused\-type\-patterns\fP
|
||
|
warn about unused type variables which arise from patterns
|
||
|
in type family and data family instances
|
||
|
.TP
|
||
|
.B \fI\%\-Wwarn\fP
|
||
|
make warnings non\-fatal
|
||
|
.TP
|
||
|
.B \fI\%\-Wwarnings\-deprecations\fP
|
||
|
warn about uses of functions & types that have warnings or
|
||
|
deprecated pragmas
|
||
|
.TP
|
||
|
.B \fI\%\-Wwrong\-do\-bind\fP
|
||
|
warn about do bindings that appear to throw away monadic values
|
||
|
that you should have bound instead
|
||
|
.UNINDENT
|
||
|
.SH COPYRIGHT
|
||
|
.sp
|
||
|
Copyright 2015. The University Court of the University of Glasgow.
|
||
|
All rights reserved.
|
||
|
.SH AUTHOR
|
||
|
The GHC Team
|
||
|
.SH COPYRIGHT
|
||
|
2015, GHC Team
|
||
|
.\" Generated by docutils manpage writer.
|
||
|
.
|