12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339 |
- .\" Man page generated from reStructuredText.
- .
- .TH "GHC" "1" "Feb 04, 2021" "8.10.4" "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 \fI\%PDF\fP and \fI\%HTML\fP\&.
- .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\-fllvm\fP \fB\-fbyte\-code\fP \fB\-fexternal\-dynamic\-refs\fP \fB\-fllvm\fP \fB\-fasm\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\-cfg\-weights\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\-cmm\-verbose\-by\-proc\fP \fB\-ddump\-core\-stats\fP \fB\-ddump\-cse\fP \fB\-ddump\-deriv\fP \fB\-ddump\-ds\fP \fB\-ddump\-ds\-preopt\fP \fB\-ddump\-ec\-trace\fP \fB\-ddump\-file\-prefix=⟨str⟩\fP \fB\-ddump\-foreign\fP \fB\-ddump\-hpc\fP \fB\-ddump\-if\-trace\fP \fB\-ddump\-inlinings\fP \fB\-ddump\-json\fP \fB\-ddump\-llvm\fP \fB\-ddump\-mod\-map\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\-rtti\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\-stg\-final\fP \fB\-ddump\-stg\-unarised\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\-ticked\fP \fB\-ddump\-timings\fP \fB\-ddump\-to\-file\fP \fB\-ddump\-types\fP \fB\-ddump\-worker\-wrapper\fP \fB\-dfaststring\-stats\fP \fB\-dhex\-word\-literals\fP \fB\-dinitial\-unique=⟨s⟩\fP \fB\-dinline\-check=⟨str⟩\fP \fB\-dno\-debug\-output\fP \fB\-ddebug\-output\fP \fB\-dno\-typeable\-binds\fP \fB\-dppr\-case\-as\-let\fP \fB\-dppr\-cols=⟨n⟩\fP \fB\-dppr\-debug\fP \fB\-dppr\-user\-length\fP \fB\-drule\-check=⟨str⟩\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\-timestamps\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\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\-fproc\-alignment\fP \fB\-g\fP \fB\-g⟨n⟩\fP
- .TP
- .B C pre\-processor
- \fB\-cpp\fP \fB\-D⟨symbol⟩[=⟨value⟩]\fP \fB\-U⟨symbol⟩\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\-fno\-break\-on\-error\fP \fB\-fbreak\-on\-exception\fP \fB\-fno\-break\-on\-exception\fP \fB\-fghci\-hist\-size=⟨n⟩\fP \fB\-fghci\-leak\-check\fP \fB\-fno\-ghci\-leak\-check\fP \fB\-flocal\-ghci\-history\fP \fB\-fno\-local\-ghci\-history\fP \fB\-fno\-it\fP \fB\-fno\-no\-it\fP \fB\-fprint\-bind\-result\fP \fB\-fno\-print\-bind\-result\fP \fB\-fprint\-evld\-with\-show\fP \fB\-fshow\-loaded\-modules\fP \fB\-ghci\-script\fP \fB\-ignore\-dot\-ghci\fP \fB\-interactive\-print ⟨name⟩\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\-no\-keep\-hi\-files\fP \fB\-keep\-hscpp\-file\fP \fB\-keep\-hscpp\-files\fP \fB\-keep\-llvm\-file\fP \fB\-keep\-llvm\-files\fP \fB\-keep\-o\-files\fP \fB\-no\-keep\-o\-files\fP \fB\-keep\-s\-file\fP \fB\-keep\-s\-files\fP \fB\-keep\-tmp\-files\fP
- .TP
- .B Language options
- \fB\-fno\-safe\-haskell\fP \fB\-fsort\-by\-size\-hole\-fits\fP \fB\-fno\-sort\-by\-size\-hole\-fits\fP \fB\-fsort\-by\-subsumption\-hole\-fits\fP \fB\-fno\-sort\-by\-subsumption\-hole\-fits\fP \fB\-Winferred\-safe\-imports\fP \fB\-Wno\-inferred\-safe\-imports\fP \fB\-Wmissing\-safe\-haskell\-mode\fP \fB\-Wno\-missing\-safe\-haskell\-mode\fP \fB\-XAllowAmbiguousTypes\fP \fB\-XApplicativeDo\fP \fB\-XArrows\fP \fB\-XBangPatterns\fP \fB\-XBinaryLiterals\fP \fB\-XBlockArguments\fP \fB\-XCApiFFI\fP \fB\-XConstrainedClassMethods\fP \fB\-XConstraintKinds\fP \fB\-XCPP\fP \fB\-XCUSKs\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\-XDerivingVia\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\-XHaskell2010\fP \fB\-XHaskell98\fP \fB\-XHexFloatLiterals\fP \fB\-XImplicitParams\fP \fB\-XImportQualifiedPost\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\-XNondecreasingIndentation\fP \fB\-XNoPatternGuards\fP \fB\-XNoTraditionalRecordSyntax\fP \fB\-XNPlusKPatterns\fP \fB\-XNullaryTypeClasses\fP \fB\-XNumDecimals\fP \fB\-XNumericUnderscores\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\-XQuantifiedConstraints\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\-XStandaloneKindSignatures\fP \fB\-XStarIsType\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\-XUnliftedFFITypes\fP \fB\-XUnliftedNewtypes\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\-keep\-cafs\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|ignore|ignoreAll⟩]\fP \fB\-shared\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\-fno\-glasgow\-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\-fasm\-shortcutting\fP \fB\-fno\-asm\-shortcutting\fP \fB\-fbinary\-blob\-threshold=⟨n⟩\fP \fB\-fblock\-layout\-cfg\fP \fB\-fno\-block\-layout\-cfg\fP \fB\-fblock\-layout\-weightless\fP \fB\-fno\-block\-layout\-weightless\fP \fB\-fblock\-layout\-weights\fP \fB\-fcall\-arity\fP \fB\-fno\-call\-arity\fP \fB\-fcase\-folding\fP \fB\-fno\-case\-folding\fP \fB\-fcase\-merge\fP \fB\-fno\-case\-merge\fP \fB\-fcmm\-elim\-common\-blocks\fP \fB\-fno\-cmm\-elim\-common\-blocks\fP \fB\-fcmm\-sink\fP \fB\-fno\-cmm\-sink\fP \fB\-fcpr\-anal\fP \fB\-fno\-cpr\-anal\fP \fB\-fcross\-module\-specialise\fP \fB\-fno\-cross\-module\-specialise\fP \fB\-fcse\fP \fB\-fno\-cse\fP \fB\-fdicts\-cheap\fP \fB\-fno\-dicts\-cheap\fP \fB\-fdicts\-strict\fP \fB\-fno\-dicts\-strict\fP \fB\-fdmd\-tx\-dict\-sel\fP \fB\-fno\-dmd\-tx\-dict\-sel\fP \fB\-fdo\-eta\-reduction\fP \fB\-fno\-do\-eta\-reduction\fP \fB\-fdo\-lambda\-eta\-expansion\fP \fB\-fno\-do\-lambda\-eta\-expansion\fP \fB\-feager\-blackholing\fP \fB\-fenable\-rewrite\-rules\fP \fB\-fno\-enable\-rewrite\-rules\fP \fB\-fexcess\-precision\fP \fB\-fno\-excess\-precision\fP \fB\-fexitification\fP \fB\-fno\-exitification\fP \fB\-fexpose\-all\-unfoldings\fP \fB\-fno\-expose\-all\-unfoldings\fP \fB\-ffloat\-in\fP \fB\-fno\-float\-in\fP \fB\-ffull\-laziness\fP \fB\-fno\-full\-laziness\fP \fB\-ffun\-to\-thunk\fP \fB\-fno\-fun\-to\-thunk\fP \fB\-fignore\-asserts\fP \fB\-fno\-ignore\-asserts\fP \fB\-fignore\-interface\-pragmas\fP \fB\-fno\-ignore\-interface\-pragmas\fP \fB\-flate\-dmd\-anal\fP \fB\-fno\-late\-dmd\-anal\fP \fB\-flate\-specialise\fP \fB\-fno\-late\-specialise\fP \fB\-fliberate\-case\fP \fB\-fno\-liberate\-case\fP \fB\-fliberate\-case\-threshold=⟨n⟩\fP \fB\-fno\-liberate\-case\-threshold\fP \fB\-fllvm\-pass\-vectors\-in\-regs\fP \fB\-fno\-llvm\-pass\-vectors\-in\-regs\fP \fB\-floopification\fP \fB\-fno\-loopification\fP \fB\-fmax\-inline\-alloc\-size=⟨n⟩\fP \fB\-fmax\-inline\-memcpy\-insns=⟨n⟩\fP \fB\-fmax\-inline\-memset\-insns=⟨n⟩\fP \fB\-fmax\-simplifier\-iterations=⟨n⟩\fP \fB\-fmax\-uncovered\-patterns=⟨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\-fno\-omit\-interface\-pragmas\fP \fB\-fomit\-yields\fP \fB\-fno\-omit\-yields\fP \fB\-foptimal\-applicative\-do\fP \fB\-fno\-optimal\-applicative\-do\fP \fB\-fpedantic\-bottoms\fP \fB\-fno\-pedantic\-bottoms\fP \fB\-fregs\-graph\fP \fB\-fno\-regs\-graph\fP \fB\-fregs\-iterative\fP \fB\-fno\-regs\-iterative\fP \fB\-fsimpl\-tick\-factor=⟨n⟩\fP \fB\-fsimplifier\-phases=⟨n⟩\fP \fB\-fsolve\-constant\-dicts\fP \fB\-fno\-solve\-constant\-dicts\fP \fB\-fspec\-constr\fP \fB\-fno\-spec\-constr\fP \fB\-fspec\-constr\-count=⟨n⟩\fP \fB\-fno\-spec\-constr\-count\fP \fB\-fspec\-constr\-keen\fP \fB\-fno\-spec\-constr\-keen\fP \fB\-fspec\-constr\-threshold=⟨n⟩\fP \fB\-fno\-spec\-constr\-threshold\fP \fB\-fspecialise\fP \fB\-fno\-specialise\fP \fB\-fspecialise\-aggressively\fP \fB\-fno\-specialise\-aggressively\fP \fB\-fstatic\-argument\-transformation\fP \fB\-fno\-static\-argument\-transformation\fP \fB\-fstg\-cse\fP \fB\-fno\-stg\-cse\fP \fB\-fstg\-lift\-lams\fP \fB\-fno\-stg\-lift\-lams\fP \fB\-fstg\-lift\-lams\-known\fP \fB\-fno\-stg\-lift\-lams\-known\fP \fB\-fstg\-lift\-lams\-non\-rec\-args\fP \fB\-fno\-stg\-lift\-lams\-non\-rec\-args\-any\fP \fB\-fstg\-lift\-lams\-rec\-args\fP \fB\-fno\-stg\-lift\-lams\-rec\-args\-any\fP \fB\-fstrictness\fP \fB\-fno\-strictness\fP \fB\-fstrictness\-before=⟨n⟩\fP \fB\-funbox\-small\-strict\-fields\fP \fB\-fno\-unbox\-small\-strict\-fields\fP \fB\-funbox\-strict\-fields\fP \fB\-fno\-unbox\-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\-fworker\-wrapper\fP
- .TP
- .B Optimization levels
- \fB\-O\fP \fB\-O1\fP \fB\-O0\fP \fB\-O0\fP \fB\-O2\fP \fB\-O0\fP \fB\-O⟨n⟩\fP \fB\-O0\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\-pgminstall_name_tool ⟨cmd⟩\fP \fB\-pgmL ⟨cmd⟩\fP \fB\-pgml ⟨cmd⟩\fP \fB\-pgmlc ⟨cmd⟩\fP \fB\-pgmlibtool ⟨cmd⟩\fP \fB\-pgmlm ⟨cmd⟩\fP \fB\-pgmlo ⟨cmd⟩\fP \fB\-pgmotool ⟨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\-optcxx ⟨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\-optlm ⟨option⟩\fP \fB\-optlo ⟨option⟩\fP \fB\-optP ⟨option⟩\fP \fB\-optwindres ⟨option⟩\fP \fB\-pgmc\-supports\-no\-pie\fP
- .TP
- .B Platform\-specific options
- \fB\-mbmi2\fP \fB\-msse2\fP \fB\-msse4.2\fP
- .TP
- .B Compiler plugins
- \fB\-fclear\-plugins\fP \fB\-fplugin\-opt=⟨module⟩:⟨args⟩\fP \fB\-fplugin\-trustworthy\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\-fprof\-auto\fP \fB\-fno\-prof\-cafs\fP \fB\-fprof\-cafs\fP \fB\-fno\-prof\-count\-entries\fP \fB\-fprof\-count\-entries\fP \fB\-fprof\-auto\fP \fB\-fno\-prof\-auto\fP \fB\-fprof\-auto\-calls\fP \fB\-fno\-prof\-auto\-calls\fP \fB\-fprof\-auto\-exported\fP \fB\-fno\-prof\-auto\fP \fB\-fprof\-auto\-top\fP \fB\-fno\-prof\-auto\fP \fB\-fprof\-cafs\fP \fB\-fno\-prof\-cafs\fP \fB\-prof\fP \fB\-ticky\fP
- .TP
- .B Program coverage
- \fB\-fhpc\fP
- .TP
- .B Recompilation checking
- \fB\-fforce\-recomp\fP \fB\-fno\-force\-recomp\fP \fB\-fignore\-hpc\-changes\fP \fB\-fno\-ignore\-hpc\-changes\fP \fB\-fignore\-optim\-changes\fP \fB\-fno\-ignore\-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\-hiedir ⟨dir⟩\fP \fB\-hiesuf ⟨suffix⟩\fP \fB\-hisuf ⟨suffix⟩\fP \fB\-include\-cpp\-deps\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\-fabstract\-refinement\-hole\-fits\fP \fB\-fno\-abstract\-refinement\-hole\-fits\fP \fB\-fdefer\-diagnostics\fP \fB\-fdiagnostics\-color=⟨always|auto|never⟩\fP \fB\-fdiagnostics\-show\-caret\fP \fB\-fno\-diagnostics\-show\-caret\fP \fB\-ferror\-spans\fP \fB\-fhide\-source\-paths\fP \fB\-fkeep\-going\fP \fB\-fmax\-refinement\-hole\-fits=⟨n⟩\fP \fB\-fno\-max\-refinement\-hole\-fits\fP \fB\-fmax\-relevant\-binds=⟨n⟩\fP \fB\-fno\-max\-relevant\-binds\fP \fB\-fmax\-valid\-hole\-fits=⟨n⟩\fP \fB\-fno\-max\-valid\-hole\-fits\fP \fB\-fno\-show\-valid\-hole\-fits\fP \fB\-fno\-sort\-valid\-hole\-fits\fP \fB\-fsort\-valid\-hole\-fits\fP \fB\-fprint\-axiom\-incomps\fP \fB\-fno\-print\-axiom\-incomps\fP \fB\-fprint\-equality\-relations\fP \fB\-fno\-print\-equality\-relations\fP \fB\-fprint\-expanded\-synonyms\fP \fB\-fno\-print\-expanded\-synonyms\fP \fB\-fprint\-explicit\-coercions\fP \fB\-fno\-print\-explicit\-coercions\fP \fB\-fprint\-explicit\-foralls\fP \fB\-fno\-print\-explicit\-foralls\fP \fB\-fprint\-explicit\-kinds\fP \fB\-fno\-print\-explicit\-kinds\fP \fB\-fprint\-explicit\-runtime\-reps\fP \fB\-fno\-print\-explicit\-runtime\-reps\fP \fB\-fprint\-potential\-instances\fP \fB\-fno\-print\-potential\-instances\fP \fB\-fprint\-typechecker\-elaboration\fP \fB\-fno\-print\-typechecker\-elaboration\fP \fB\-fprint\-unicode\-syntax\fP \fB\-fno\-print\-unicode\-syntax\fP \fB\-frefinement\-level\-hole\-fits=⟨n⟩\fP \fB\-fno\-refinement\-level\-hole\-fits\fP \fB\-freverse\-errors\fP \fB\-fno\-reverse\-errors\fP \fB\-fshow\-docs\-of\-hole\-fits\fP \fB\-fno\-show\-docs\-of\-hole\-fits\fP \fB\-fshow\-hole\-constraints\fP \fB\-fshow\-hole\-matches\-of\-hole\-fits\fP \fB\-fno\-show\-hole\-matches\-of\-hole\-fits\fP \fB\-fshow\-provenance\-of\-hole\-fits\fP \fB\-fno\-show\-provenance\-of\-hole\-fits\fP \fB\-fshow\-type\-app\-of\-hole\-fits\fP \fB\-fno\-show\-type\-app\-of\-hole\-fits\fP \fB\-fshow\-type\-app\-vars\-of\-hole\-fits\fP \fB\-fno\-show\-type\-app\-vars\-of\-hole\-fits\fP \fB\-fshow\-type\-of\-hole\-fits\fP \fB\-fno\-type\-of\-hole\-fits\fP \fB\-funclutter\-valid\-hole\-fits\fP \fB\-Rghc\-timing\fP \fB\-v\fP \fB\-v⟨n⟩\fP
- .TP
- .B Warnings
- \fB\-fdefer\-out\-of\-scope\-variables\fP \fB\-fno\-defer\-out\-of\-scope\-variables\fP \fB\-fdefer\-type\-errors\fP \fB\-fno\-defer\-type\-errors\fP \fB\-fdefer\-typed\-holes\fP \fB\-fno\-defer\-typed\-holes\fP \fB\-fenable\-th\-splice\-warnings\fP \fB\-fno\-enable\-th\-splices\fP \fB\-fhelpful\-errors\fP \fB\-fno\-helpful\-errors\fP \fB\-fmax\-pmcheck\-models=⟨n⟩\fP \fB\-fshow\-warning\-groups\fP \fB\-fno\-show\-warning\-groups\fP \fB\-fvia\-C\fP \fB\-W\fP \fB\-w\fP \fB\-w\fP \fB\-Wall\fP \fB\-w\fP \fB\-Wall\-missed\-specialisations\fP \fB\-Wno\-all\-missed\-specialisations\fP \fB\-Wcompat\fP \fB\-Wno\-compat\fP \fB\-Wcompat\-unqualified\-imports\fP \fB\-Wno\-compat\-unqualified\-imports\fP \fB\-Wcpp\-undef\fP \fB\-Wdeferred\-out\-of\-scope\-variables\fP \fB\-Wno\-deferred\-out\-of\-scope\-variables\fP \fB\-Wdeferred\-type\-errors\fP \fB\-Wno\-deferred\-type\-errors\fP \fB\-Wdeprecated\-flags\fP \fB\-Wno\-deprecated\-flags\fP \fB\-Wdeprecations\fP \fB\-Wno\-deprecations\fP \fB\-Wderiving\-defaults\fP \fB\-Wno\-deriving\-defaults\fP \fB\-Wdodgy\-exports\fP \fB\-Wno\-dodgy\-exports\fP \fB\-Wdodgy\-foreign\-imports\fP \fB\-Wno\-dodgy\-foreign\-import\fP \fB\-Wdodgy\-imports\fP \fB\-Wno\-dodgy\-imports\fP \fB\-Wduplicate\-constraints\fP \fB\-Wno\-duplicate\-constraints\fP \fB\-Wduplicate\-exports\fP \fB\-Wno\-duplicate\-exports\fP \fB\-Wempty\-enumerations\fP \fB\-Wno\-empty\-enumerations\fP \fB\-Werror\fP \fB\-Wwarn\fP \fB\-Weverything\fP \fB\-Whi\-shadowing\fP \fB\-Wno\-hi\-shadowing\fP \fB\-Widentities\fP \fB\-Wno\-identities\fP \fB\-Wimplicit\-kind\-vars\fP \fB\-Wno\-implicit\-kind\-vars\fP \fB\-Wimplicit\-prelude\fP \fB\-Wno\-implicit\-prelude\fP \fB\-Winaccessible\-code\fP \fB\-Wno\-inaccessible\-code\fP \fB\-Wincomplete\-patterns\fP \fB\-Wno\-incomplete\-patterns\fP \fB\-Wincomplete\-record\-updates\fP \fB\-Wno\-incomplete\-record\-updates\fP \fB\-Wincomplete\-uni\-patterns\fP \fB\-Wno\-incomplete\-uni\-patterns\fP \fB\-Winline\-rule\-shadowing\fP \fB\-Wno\-inline\-rule\-shadowing\fP \fB\-Wmissed\-extra\-shared\-lib\fP \fB\-Wno\-missed\-extra\-shared\-lib\fP \fB\-Wmissed\-specialisations\fP \fB\-Wno\-missed\-specialisations\fP \fB\-Wmissing\-deriving\-strategies\fP \fB\-Wno\-missing\-deriving\-strategies\fP \fB\-Wmissing\-export\-lists\fP \fB\-fnowarn\-missing\-export\-lists\fP \fB\-Wmissing\-exported\-signatures\fP \fB\-Wno\-missing\-exported\-signatures\fP \fB\-Wmissing\-exported\-sigs\fP \fB\-Wno\-missing\-exported\-sigs\fP \fB\-Wmissing\-fields\fP \fB\-Wno\-missing\-fields\fP \fB\-Wmissing\-home\-modules\fP \fB\-Wno\-missing\-home\-modules\fP \fB\-Wmissing\-import\-lists\fP \fB\-fnowarn\-missing\-import\-lists\fP \fB\-Wmissing\-local\-signatures\fP \fB\-Wno\-missing\-local\-signatures\fP \fB\-Wmissing\-local\-sigs\fP \fB\-Wno\-missing\-local\-sigs\fP \fB\-Wmissing\-methods\fP \fB\-Wno\-missing\-methods\fP \fB\-Wmissing\-monadfail\-instances\fP \fB\-Wno\-missing\-monadfail\-instances\fP \fB\-Wmissing\-pattern\-synonym\-signatures\fP \fB\-Wno\-missing\-pattern\-synonym\-signatures\fP \fB\-Wmissing\-signatures\fP \fB\-Wno\-missing\-signatures\fP \fB\-Wmonomorphism\-restriction\fP \fB\-Wno\-monomorphism\-restriction\fP \fB\-Wname\-shadowing\fP \fB\-Wno\-name\-shadowing\fP \fB\-Wno\-compat\fP \fB\-Wcompat\fP \fB\-Wnoncanonical\-monad\-instances\fP \fB\-Wno\-noncanonical\-monad\-instances\fP \fB\-Wnoncanonical\-monadfail\-instances\fP \fB\-Wno\-noncanonical\-monadfail\-instances\fP \fB\-Wnoncanonical\-monoid\-instances\fP \fB\-Wno\-noncanonical\-monoid\-instances\fP \fB\-Worphans\fP \fB\-Wno\-orphans\fP \fB\-Woverflowed\-literals\fP \fB\-Wno\-overflowed\-literals\fP \fB\-Woverlapping\-patterns\fP \fB\-Wno\-overlapping\-patterns\fP \fB\-Wpartial\-fields\fP \fB\-Wno\-partial\-fields\fP \fB\-Wpartial\-type\-signatures\fP \fB\-Wno\-partial\-type\-signatures\fP \fB\-Wredundant\-constraints\fP \fB\-Wno\-redundant\-constraints\fP \fB\-Wredundant\-record\-wildcards\fP \fB\-Wno\-redundant\-record\-wildcards\fP \fB\-Wsafe\fP \fB\-Wno\-safe\fP \fB\-Wsemigroup\fP \fB\-Wno\-semigroup\fP \fB\-Wsimplifiable\-class\-constraints\fP \fB\-Wno\-simplifiable\-class\-constraints\fP \fB\-Wspace\-after\-bang\fP \fB\-Wno\-missing\-space\-after\-bang\fP \fB\-Wstar\-binder\fP \fB\-Wno\-star\-binder\fP \fB\-Wstar\-is\-type\fP \fB\-Wno\-star\-is\-type\fP \fB\-Wtabs\fP \fB\-Wno\-tabs\fP \fB\-Wtrustworthy\-safe\fP \fB\-Wno\-safe\fP \fB\-Wtype\-defaults\fP \fB\-Wno\-type\-defaults\fP \fB\-Wtyped\-holes\fP \fB\-Wno\-typed\-holes\fP \fB\-Wunbanged\-strict\-patterns\fP \fB\-Wno\-unbanged\-strict\-patterns\fP \fB\-Wunrecognised\-pragmas\fP \fB\-Wno\-unrecognised\-pragmas\fP \fB\-Wunrecognised\-warning\-flags\fP \fB\-Wno\-unrecognised\-warning\-flags\fP \fB\-Wunsafe\fP \fB\-Wno\-unsafe\fP \fB\-Wunsupported\-calling\-conventions\fP \fB\-Wno\-unsupported\-calling\-conventions\fP \fB\-Wunsupported\-llvm\-version\fP \fB\-Wno\-monomorphism\-restriction\fP \fB\-Wunticked\-promoted\-constructors\fP \fB\-Wno\-unticked\-promoted\-constructors\fP \fB\-Wunused\-binds\fP \fB\-Wno\-unused\-binds\fP \fB\-Wunused\-do\-bind\fP \fB\-Wno\-unused\-do\-bind\fP \fB\-Wunused\-foralls\fP \fB\-Wno\-unused\-foralls\fP \fB\-Wunused\-imports\fP \fB\-Wno\-unused\-imports\fP \fB\-Wunused\-local\-binds\fP \fB\-Wno\-unused\-local\-binds\fP \fB\-Wunused\-matches\fP \fB\-Wno\-unused\-matches\fP \fB\-Wunused\-packages\fP \fB\-Wno\-unused\-packages\fP \fB\-Wunused\-pattern\-binds\fP \fB\-Wno\-unused\-pattern\-binds\fP \fB\-Wunused\-record\-wildcards\fP \fB\-Wno\-unused\-record\-wildcards\fP \fB\-Wunused\-top\-binds\fP \fB\-Wno\-unused\-top\-binds\fP \fB\-Wunused\-type\-patterns\fP \fB\-Wno\-unused\-type\-patterns\fP \fB\-Wwarn\fP \fB\-Werror\fP \fB\-Wwarnings\-deprecations\fP \fB\-Wno\-warnings\-deprecations\fP \fB\-Wwrong\-do\-bind\fP \fB\-Wno\-wrong\-do\-bind\fP
- .SS Code generation
- .INDENT 0.0
- .TP
- .B \fB\-dynamic\-too\fP
- Build dynamic object files \fIas well as\fP static object files
- during compilation
- .TP
- .B \fB\-fasm\fP
- Use the native code generator
- .TP
- .B \fB\-fbyte\-code\fP
- Generate byte\-code
- .TP
- .B \fB\-fexternal\-dynamic\-refs\fP
- Generate code for linking against dynamic libraries
- .TP
- .B \fB\-fllvm\fP
- Compile using the LLVM code generator
- .TP
- .B \fB\-fno\-code\fP
- Omit code generation
- .TP
- .B \fB\-fobject\-code\fP
- Generate object code
- .TP
- .B \fB\-fPIC\fP
- Generate position\-independent code (where available)
- .TP
- .B \fB\-fPIE\fP
- Generate code for a position\-independent executable (where available)
- .TP
- .B \fB\-fwrite\-interface\fP
- Always write interface files
- .UNINDENT
- .SS Debugging the compiler
- .INDENT 0.0
- .TP
- .B \fB\-dcmm\-lint\fP
- C\-\e\- pass sanity checking
- .TP
- .B \fB\-dcore\-lint\fP
- Turn on internal sanity checking
- .TP
- .B \fB\-ddump\-asm\fP
- Dump final assembly
- .TP
- .B \fB\-ddump\-asm\-expanded\fP
- Dump the result of the synthetic instruction expansion pass.
- .TP
- .B \fB\-ddump\-asm\-liveness\fP
- Dump assembly augmented with register liveness
- .TP
- .B \fB\-ddump\-asm\-native\fP
- Dump initial assembly
- .TP
- .B \fB\-ddump\-asm\-regalloc\fP
- Dump the result of register allocation
- .TP
- .B \fB\-ddump\-asm\-regalloc\-stages\fP
- Dump the build/spill stages of the \fB\-fregs\-graph\fP
- register allocator.
- .TP
- .B \fB\-ddump\-asm\-stats\fP
- Dump statistics from the register allocator.
- .TP
- .B \fB\-ddump\-bcos\fP
- Dump interpreter byte code
- .TP
- .B \fB\-ddump\-cfg\-weights\fP
- Dump the assumed weights of the CFG.
- .TP
- .B \fB\-ddump\-cmm\fP
- Dump the final C\-\e\- output
- .TP
- .B \fB\-ddump\-cmm\-caf\fP
- Dump the results of the C\-\e\- CAF analysis pass.
- .TP
- .B \fB\-ddump\-cmm\-cbe\fP
- Dump the results of common block elimination
- .TP
- .B \fB\-ddump\-cmm\-cfg\fP
- Dump the results of the C\-\e\- control flow optimisation pass.
- .TP
- .B \fB\-ddump\-cmm\-cps\fP
- Dump the results of the CPS pass
- .TP
- .B \fB\-ddump\-cmm\-from\-stg\fP
- Dump STG\-to\-C\-\e\- output
- .TP
- .B \fB\-ddump\-cmm\-info\fP
- Dump the results of the C\-\e\- info table augmentation pass.
- .TP
- .B \fB\-ddump\-cmm\-proc\fP
- Dump the results of proc\-point analysis
- .TP
- .B \fB\-ddump\-cmm\-procmap\fP
- Dump the results of the C\-\e\- proc\-point map pass.
- .TP
- .B \fB\-ddump\-cmm\-raw\fP
- Dump raw C\-\e\-
- .TP
- .B \fB\-ddump\-cmm\-sink\fP
- Dump the results of the C\-\e\- sinking pass.
- .TP
- .B \fB\-ddump\-cmm\-sp\fP
- Dump the results of the C\-\e\- stack layout pass.
- .TP
- .B \fB\-ddump\-cmm\-split\fP
- Dump the results of the C\-\e\- proc\-point splitting pass.
- .TP
- .B \fB\-ddump\-cmm\-switch\fP
- Dump the results of switch lowering passes
- .TP
- .B \fB\-ddump\-cmm\-verbose\fP
- Write output from main C\-\e\- pipeline passes to files
- .TP
- .B \fB\-ddump\-cmm\-verbose\-by\-proc\fP
- Show output from main C\-\e\- pipeline passes (grouped by proc)
- .TP
- .B \fB\-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 \fB\-ddump\-cse\fP
- Dump CSE output
- .TP
- .B \fB\-ddump\-deriv\fP
- Dump deriving output
- .TP
- .B \fB\-ddump\-ds\fP
- Dump desugarer output.
- .TP
- .B \fB\-ddump\-ec\-trace\fP
- Trace exhaustiveness checker
- .TP
- .B \fB\-ddump\-file\-prefix=⟨str⟩\fP
- Set the prefix of the filenames used for debugging output.
- .TP
- .B \fB\-ddump\-foreign\fP
- Dump \fBforeign export\fP stubs
- .TP
- .B \fB\-ddump\-hpc\fP
- An alias for \fB\-ddump\-ticked\fP\&.
- .TP
- .B \fB\-ddump\-if\-trace\fP
- Trace interface files
- .TP
- .B \fB\-ddump\-inlinings\fP
- Dump inlining info
- .TP
- .B \fB\-ddump\-json\fP
- Dump error messages as JSON documents
- .TP
- .B \fB\-ddump\-llvm\fP
- Dump LLVM intermediate code.
- .TP
- .B \fB\-ddump\-mod\-map\fP
- Dump the state of the module mapping database.
- .TP
- .B \fB\-ddump\-occur\-anal\fP
- Dump occurrence analysis output
- .TP
- .B \fB\-ddump\-opt\-cmm\fP
- Dump the results of C\-\e\- to C\-\e\- optimising passes
- .TP
- .B \fB\-ddump\-parsed\fP
- Dump parse tree
- .TP
- .B \fB\-ddump\-parsed\-ast\fP
- Dump parser output as a syntax tree
- .TP
- .B \fB\-ddump\-prep\fP
- Dump prepared core
- .TP
- .B \fB\-ddump\-rn\fP
- Dump renamer output
- .TP
- .B \fB\-ddump\-rn\-ast\fP
- Dump renamer output as a syntax tree
- .TP
- .B \fB\-ddump\-rn\-stats\fP
- Renamer stats
- .TP
- .B \fB\-ddump\-rn\-trace\fP
- Trace renamer
- .TP
- .B \fB\-ddump\-rtti\fP
- Trace runtime type inference
- .TP
- .B \fB\-ddump\-rule\-firings\fP
- Dump rule firing info
- .TP
- .B \fB\-ddump\-rule\-rewrites\fP
- Dump detailed rule firing info
- .TP
- .B \fB\-ddump\-rules\fP
- Dump rewrite rules
- .TP
- .B \fB\-ddump\-simpl\fP
- Dump final simplifier output
- .TP
- .B \fB\-ddump\-simpl\-iterations\fP
- Dump output from each simplifier iteration
- .TP
- .B \fB\-ddump\-simpl\-stats\fP
- Dump simplifier stats
- .TP
- .B \fB\-ddump\-spec\fP
- Dump specialiser output
- .TP
- .B \fB\-ddump\-splices\fP
- Dump TH spliced expressions, and what they evaluate to
- .TP
- .B \fB\-ddump\-stg\fP
- Show CoreToStg output
- .TP
- .B \fB\-ddump\-stg\-final\fP
- Show output of last STG pass.
- .TP
- .B \fB\-ddump\-stg\-unarised\fP
- Show unarised STG
- .TP
- .B \fB\-ddump\-str\-signatures\fP
- Dump strictness signatures
- .TP
- .B \fB\-ddump\-stranal\fP
- Dump strictness analyser output
- .TP
- .B \fB\-ddump\-tc\fP
- Dump typechecker output
- .TP
- .B \fB\-ddump\-tc\-ast\fP
- Dump typechecker output as a syntax tree
- .TP
- .B \fB\-ddump\-tc\-trace\fP
- Trace typechecker
- .TP
- .B \fB\-ddump\-ticked\fP
- Dump the code instrumented by HPC (hpc).
- .TP
- .B \fB\-ddump\-timings\fP
- Dump per\-pass timing and allocation statistics
- .TP
- .B \fB\-ddump\-to\-file\fP
- Dump to files instead of stdout
- .TP
- .B \fB\-ddump\-types\fP
- Dump type signatures
- .TP
- .B \fB\-ddump\-worker\-wrapper\fP
- Dump worker\-wrapper output
- .TP
- .B \fB\-dfaststring\-stats\fP
- Show statistics for fast string usage when finished
- .TP
- .B \fB\-dhex\-word\-literals\fP
- Print values of type \fIWord#\fP in hexadecimal.
- .TP
- .B \fB\-dinitial\-unique=⟨s⟩\fP
- Start \fBUniqSupply\fP allocation from ⟨s⟩.
- .TP
- .B \fB\-dinline\-check=⟨str⟩\fP
- Dump information about inlining decisions
- .TP
- .B \fB\-dno\-debug\-output\fP
- Suppress unsolicited debugging output
- .TP
- .B \fB\-dno\-typeable\-binds\fP
- Don\(aqt generate bindings for Typeable methods
- .TP
- .B \fB\-dppr\-case\-as\-let\fP
- Print single alternative case expressions as strict lets.
- .TP
- .B \fB\-dppr\-cols=⟨n⟩\fP
- Set the width of debugging output. For example \fB\-dppr\-cols200\fP
- .TP
- .B \fB\-dppr\-debug\fP
- Turn on debug printing (more verbose)
- .TP
- .B \fB\-dppr\-user\-length\fP
- Set the depth for printing expressions in error msgs
- .TP
- .B \fB\-drule\-check=⟨str⟩\fP
- Dump information about potential rule application
- .TP
- .B \fB\-dshow\-passes\fP
- Print out each pass name as it happens
- .TP
- .B \fB\-dstg\-lint\fP
- STG pass sanity checking
- .TP
- .B \fB\-dsuppress\-all\fP
- In dumps, suppress everything (except for uniques) that is
- suppressible.
- .TP
- .B \fB\-dsuppress\-coercions\fP
- Suppress the printing of coercions in Core dumps to make them
- shorter
- .TP
- .B \fB\-dsuppress\-idinfo\fP
- Suppress extended information about identifiers where they
- are bound
- .TP
- .B \fB\-dsuppress\-module\-prefixes\fP
- Suppress the printing of module qualification prefixes
- .TP
- .B \fB\-dsuppress\-stg\-free\-vars\fP
- Suppress the printing of closure free variable lists in STG output
- .TP
- .B \fB\-dsuppress\-ticks\fP
- Suppress "ticks" in the pretty\-printer output.
- .TP
- .B \fB\-dsuppress\-timestamps\fP
- Suppress timestamps in dumps
- .TP
- .B \fB\-dsuppress\-type\-applications\fP
- Suppress type applications
- .TP
- .B \fB\-dsuppress\-type\-signatures\fP
- Suppress type signatures
- .TP
- .B \fB\-dsuppress\-unfoldings\fP
- Suppress the printing of the stable unfolding of a variable at
- its binding site
- .TP
- .B \fB\-dsuppress\-uniques\fP
- Suppress the printing of uniques in debug output (easier to use
- \fBdiff\fP)
- .TP
- .B \fB\-dsuppress\-var\-kinds\fP
- Suppress the printing of variable kinds
- .TP
- .B \fB\-dth\-dec\-file\fP
- Dump evaluated TH declarations into \fI*.th.hs\fP files
- .TP
- .B \fB\-dunique\-increment=⟨i⟩\fP
- Set the increment for the generated \fBUnique\fP\(aqs to ⟨i⟩.
- .TP
- .B \fB\-dverbose\-core2core\fP
- Show output from each core\-to\-core pass
- .TP
- .B \fB\-dverbose\-stg2stg\fP
- Show output from each STG\-to\-STG pass
- .TP
- .B \fB\-falignment\-sanitisation\fP
- Compile with alignment checks for all info table dereferences.
- .TP
- .B \fB\-fcatch\-bottoms\fP
- Insert \fBerror\fP expressions after bottoming expressions; useful
- when debugging the compiler.
- .TP
- .B \fB\-fllvm\-fill\-undef\-with\-garbage\fP
- Intruct LLVM to fill dead STG registers with garbage
- .TP
- .B \fB\-fproc\-alignment\fP
- Align functions at given boundary.
- .TP
- .B \fB\-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 \fB\-cpp\fP
- Run the C pre\-processor on Haskell source files
- .TP
- .B \fB\-D⟨symbol⟩[=⟨value⟩]\fP
- Define a symbol in the C pre\-processor
- .TP
- .B \fB\-I⟨dir⟩\fP
- Add ⟨dir⟩ to the directory search list for \fB#include\fP files
- .TP
- .B \fB\-U⟨symbol⟩\fP
- Undefine a symbol in the C pre\-processor
- .UNINDENT
- .SS Finding imports
- .INDENT 0.0
- .TP
- .B \fB\-i\fP
- Empty the import directory list
- .TP
- .B \fB\-i⟨dir⟩[:⟨dir⟩]*\fP
- add ⟨dir⟩, ⟨dir2⟩, etc. to import path
- .UNINDENT
- .SS Interactive mode
- .INDENT 0.0
- .TP
- .B \fB\-fbreak\-on\-error\fP
- Break on uncaught exceptions and errors
- .TP
- .B \fB\-fbreak\-on\-exception\fP
- Break on any exception thrown
- .TP
- .B \fB\-fghci\-hist\-size=⟨n⟩\fP
- Set the number of entries GHCi keeps for \fB:history\fP\&.
- See ghci\-debugger\&.
- .TP
- .B \fB\-fghci\-leak\-check\fP
- (Debugging only) check for space leaks when loading
- new modules in GHCi.
- .TP
- .B \fB\-flocal\-ghci\-history\fP
- Use current directory for the GHCi command history
- file \fB\&.ghci\-history\fP\&.
- .TP
- .B \fB\-fno\-it\fP
- No longer set the special variable \fBit\fP\&.
- .TP
- .B \fB\-fprint\-bind\-result\fP
- Turn on printing of binding results in GHCi
- .TP
- .B \fB\-fprint\-evld\-with\-show\fP
- Instruct \fB:print\fP to use \fBShow\fP instances where possible.
- .TP
- .B \fB\-fshow\-loaded\-modules\fP
- Show the names of modules that GHCi loaded after a
- \fB:load\fP command.
- .TP
- .B \fB\-ghci\-script\fP
- Read additional \fB\&.ghci\fP files
- .TP
- .B \fB\-ignore\-dot\-ghci\fP
- Disable reading of \fB\&.ghci\fP files
- .TP
- .B \fB\-interactive\-print ⟨name⟩\fP
- Select the function to use for printing evaluated
- expressions in GHCi
- .UNINDENT
- .SS Interface files
- .INDENT 0.0
- .TP
- .B \fB\-\-show\-iface ⟨file⟩\fP
- See modes\&.
- .TP
- .B \fB\-ddump\-hi\fP
- Dump the new interface to stdout
- .TP
- .B \fB\-ddump\-hi\-diffs\fP
- Show the differences vs. the old interface
- .TP
- .B \fB\-ddump\-minimal\-imports\fP
- Dump a minimal set of imports
- .UNINDENT
- .SS Keeping intermediate files
- .INDENT 0.0
- .TP
- .B \fB\-keep\-hc\-file\fP
- Retain intermediate \fB\&.hc\fP files.
- .TP
- .B \fB\-keep\-hi\-files\fP
- Retain intermediate \fB\&.hi\fP files (the default).
- .TP
- .B \fB\-keep\-hscpp\-file\fP
- Retain intermediate \fB\&.hscpp\fP files.
- .TP
- .B \fB\-keep\-llvm\-file\fP
- Retain intermediate LLVM \fB\&.ll\fP files.
- Implies \fB\-fllvm\fP\&.
- .TP
- .B \fB\-keep\-o\-files\fP
- Retain intermediate \fB\&.o\fP files (the default).
- .TP
- .B \fB\-keep\-s\-file\fP
- Retain intermediate \fB\&.s\fP files.
- .TP
- .B \fB\-keep\-tmp\-files\fP
- Retain all intermediate temporary files.
- .UNINDENT
- .SS Language options
- .INDENT 0.0
- .TP
- .B \fB\-fno\-safe\-haskell\fP
- Disable Safe Haskell
- .TP
- .B \fB\-fsort\-by\-size\-hole\-fits\fP
- Sort valid hole fits by size.
- .TP
- .B \fB\-fsort\-by\-subsumption\-hole\-fits\fP
- Sort valid hole fits by subsumption.
- .TP
- .B \fB\-Winferred\-safe\-imports\fP
- warn when an explicitly Safe Haskell module imports a Safe\-Inferred one
- .TP
- .B \fB\-Wmissing\-safe\-haskell\-mode\fP
- warn when the Safe Haskell mode is not explicitly specified.
- .TP
- .B \fB\-XAllowAmbiguousTypes\fP
- Allow the user to write ambiguous types, and
- the type inference engine to infer them.
- .TP
- .B \fB\-XApplicativeDo\fP
- Enable Applicative do\-notation desugaring
- .TP
- .B \fB\-XArrows\fP
- Enable arrow notation extension
- .TP
- .B \fB\-XBangPatterns\fP
- Enable bang patterns.
- .TP
- .B \fB\-XBinaryLiterals\fP
- Enable support for binary literals.
- .TP
- .B \fB\-XBlockArguments\fP
- Allow \fBdo\fP blocks and other constructs as function arguments.
- .TP
- .B \fB\-XCApiFFI\fP
- Enable the CAPI calling convention.
- .TP
- .B \fB\-XConstrainedClassMethods\fP
- Enable constrained class methods.
- .TP
- .B \fB\-XConstraintKinds\fP
- Enable a kind of constraints.
- .TP
- .B \fB\-XCPP\fP
- Enable the C preprocessor.
- .TP
- .B \fB\-XCUSKs\fP
- Enable detection of complete user\-supplied kind signatures.
- .TP
- .B \fB\-XDataKinds\fP
- Enable datatype promotion.
- .TP
- .B \fB\-XDatatypeContexts\fP
- Allow contexts on \fBdata\fP types.
- .TP
- .B \fB\-XDefaultSignatures\fP
- Enable default signatures.
- .TP
- .B \fB\-XDeriveAnyClass\fP
- Enable deriving for any class.
- .TP
- .B \fB\-XDeriveDataTypeable\fP
- Enable deriving for the \fBData\fP class.
- Implied by (deprecated) \fBAutoDeriveTypeable\fP\&.
- .TP
- .B \fB\-XDeriveFoldable\fP
- Enable deriving for the Foldable class.
- Implied by \fBDeriveTraversable\fP\&.
- .TP
- .B \fB\-XDeriveFunctor\fP
- Enable deriving for the Functor class.
- Implied by \fBDeriveTraversable\fP\&.
- .TP
- .B \fB\-XDeriveGeneric\fP
- Enable deriving for the Generic class.
- .TP
- .B \fB\-XDeriveLift\fP
- Enable deriving for the Lift class
- .TP
- .B \fB\-XDeriveTraversable\fP
- Enable deriving for the Traversable class.
- Implies \fBDeriveFunctor\fP and \fBDeriveFoldable\fP\&.
- .TP
- .B \fB\-XDerivingStrategies\fP
- Enables deriving strategies.
- .TP
- .B \fB\-XDerivingVia\fP
- Enable deriving instances \fBvia\fP types of the same runtime
- representation.
- Implies \fBDerivingStrategies\fP\&.
- .TP
- .B \fB\-XDisambiguateRecordFields\fP
- Enable record field disambiguation.
- Implied by \fBRecordWildCards\fP\&.
- .TP
- .B \fB\-XDuplicateRecordFields\fP
- Allow definition of record types with identically\-named fields.
- .TP
- .B \fB\-XEmptyCase\fP
- Allow empty case alternatives.
- .TP
- .B \fB\-XEmptyDataDecls\fP
- Allow definition of empty \fBdata\fP types.
- .TP
- .B \fB\-XEmptyDataDeriving\fP
- Allow deriving instances of standard type classes for
- empty data types.
- .TP
- .B \fB\-XExistentialQuantification\fP
- Enable liberalised type synonyms.
- .TP
- .B \fB\-XExplicitForAll\fP
- Enable explicit universal quantification.
- Implied by \fBScopedTypeVariables\fP, \fBLiberalTypeSynonyms\fP,
- \fBRankNTypes\fP and \fBExistentialQuantification\fP\&.
- .TP
- .B \fB\-XExplicitNamespaces\fP
- Enable using the keyword \fBtype\fP to specify the namespace of
- entries in imports and exports (explicit\-namespaces).
- Implied by \fBTypeOperators\fP and \fBTypeFamilies\fP\&.
- .TP
- .B \fB\-XExtendedDefaultRules\fP
- Use GHCi\(aqs extended default rules in a normal module.
- .TP
- .B \fB\-XFlexibleContexts\fP
- Enable flexible contexts.
- .TP
- .B \fB\-XFlexibleInstances\fP
- Enable flexible instances.
- Implies \fBTypeSynonymInstances\fP\&.
- .TP
- .B \fB\-XForeignFunctionInterface\fP
- Enable foreign function interface.
- .TP
- .B \fB\-XFunctionalDependencies\fP
- Enable functional dependencies.
- Implies \fBMultiParamTypeClasses\fP\&.
- .TP
- .B \fB\-XGADTs\fP
- Enable generalised algebraic data types.
- Implies \fBGADTSyntax\fP and \fBMonoLocalBinds\fP\&.
- .TP
- .B \fB\-XGADTSyntax\fP
- Enable generalised algebraic data type syntax.
- .TP
- .B \fB\-XGeneralisedNewtypeDeriving\fP
- Enable newtype deriving.
- .TP
- .B \fB\-XGeneralizedNewtypeDeriving\fP
- Enable newtype deriving.
- .TP
- .B \fB\-XHaskell2010\fP
- Use the Haskell 2010 language variant.
- .TP
- .B \fB\-XHaskell98\fP
- Use the Haskell 2010 language variant.
- .TP
- .B \fB\-XHexFloatLiterals\fP
- Enable support for hexadecimal floating point literals\&.
- .TP
- .B \fB\-XImplicitParams\fP
- Enable Implicit Parameters.
- .TP
- .B \fB\-XImportQualifiedPost\fP
- \fBImportQualifiedPost\fP allows the syntax \fBimport M qualified\fP
- .TP
- .B \fB\-XImpredicativeTypes\fP
- Enable impredicative types.
- Implies \fBRankNTypes\fP\&.
- .TP
- .B \fB\-XIncoherentInstances\fP
- Enable incoherent instances.
- Implies \fBOverlappingInstances\fP\&.
- .TP
- .B \fB\-XInstanceSigs\fP
- Enable instance signatures.
- .TP
- .B \fB\-XInterruptibleFFI\fP
- Enable interruptible FFI.
- .TP
- .B \fB\-XKindSignatures\fP
- Enable kind signatures.
- Implied by \fBTypeFamilies\fP and \fBPolyKinds\fP\&.
- .TP
- .B \fB\-XLambdaCase\fP
- Enable lambda\-case expressions.
- .TP
- .B \fB\-XLiberalTypeSynonyms\fP
- Enable liberalised type synonyms.
- .TP
- .B \fB\-XMagicHash\fP
- Allow \fB#\fP as a postfix modifier on identifiers.
- .TP
- .B \fB\-XMonadComprehensions\fP
- Enable monad comprehensions.
- .TP
- .B \fB\-XMonadFailDesugaring\fP
- Enable monadfail desugaring.
- .TP
- .B \fB\-XMonoLocalBinds\fP
- Enable do not generalise local bindings.
- Implied by \fBTypeFamilies\fP and \fBGADTs\fP\&.
- .TP
- .B \fB\-XMultiParamTypeClasses\fP
- Enable multi parameter type classes.
- Implied by \fBFunctionalDependencies\fP\&.
- .TP
- .B \fB\-XMultiWayIf\fP
- Enable multi\-way if\-expressions.
- .TP
- .B \fB\-XNamedFieldPuns\fP
- Enable record puns.
- .TP
- .B \fB\-XNamedWildCards\fP
- Enable named wildcards.
- .TP
- .B \fB\-XNegativeLiterals\fP
- Enable support for negative literals.
- .TP
- .B \fB\-XNoImplicitPrelude\fP
- Don\(aqt implicitly \fBimport Prelude\fP\&.
- Implied by \fBRebindableSyntax\fP\&.
- .TP
- .B \fB\-XNoMonomorphismRestriction\fP
- Disable the monomorphism restriction.
- .TP
- .B \fB\-XNondecreasingIndentation\fP
- Allow nested contexts to be at the same indentation level as
- its enclosing context.
- .TP
- .B \fB\-XNoPatternGuards\fP
- Disable pattern guards.
- Implied by \fBHaskell98\fP\&.
- .TP
- .B \fB\-XNoTraditionalRecordSyntax\fP
- Disable support for traditional record syntax
- (as supported by Haskell 98) \fBC {f = x}\fP
- .TP
- .B \fB\-XNPlusKPatterns\fP
- Enable support for \fBn+k\fP patterns.
- Implied by \fBHaskell98\fP\&.
- .TP
- .B \fB\-XNullaryTypeClasses\fP
- Deprecated, does nothing. nullary (no parameter) type
- classes are now enabled using \fBMultiParamTypeClasses\fP\&.
- .TP
- .B \fB\-XNumDecimals\fP
- Enable support for \(aqfractional\(aq integer literals.
- .TP
- .B \fB\-XNumericUnderscores\fP
- Enable support for numeric underscores\&.
- .TP
- .B \fB\-XOverlappingInstances\fP
- Enable overlapping instances.
- .TP
- .B \fB\-XOverloadedLabels\fP
- Enable overloaded labels.
- .TP
- .B \fB\-XOverloadedLists\fP
- Enable overloaded lists.
- .TP
- .B \fB\-XOverloadedStrings\fP
- Enable overloaded string literals.
- .TP
- .B \fB\-XPackageImports\fP
- Enable package\-qualified imports.
- .TP
- .B \fB\-XParallelListComp\fP
- Enable parallel list comprehensions.
- .TP
- .B \fB\-XPartialTypeSignatures\fP
- Enable partial type signatures.
- .TP
- .B \fB\-XPatternSynonyms\fP
- Enable pattern synonyms.
- .TP
- .B \fB\-XPolyKinds\fP
- Enable kind polymorphism.
- Implies \fBKindSignatures\fP\&.
- .TP
- .B \fB\-XPostfixOperators\fP
- Enable postfix operators.
- .TP
- .B \fB\-XQuantifiedConstraints\fP
- Allow \fBforall\fP quantifiers in constraints.
- .TP
- .B \fB\-XQuasiQuotes\fP
- Enable quasiquotation.
- .TP
- .B \fB\-XRank2Types\fP
- Enable rank\-2 types.
- Synonym for \fBRankNTypes\fP\&.
- .TP
- .B \fB\-XRankNTypes\fP
- Enable rank\-N types.
- Implied by \fBImpredicativeTypes\fP\&.
- .TP
- .B \fB\-XRebindableSyntax\fP
- Employ rebindable syntax.
- Implies \fBNoImplicitPrelude\fP\&.
- .TP
- .B \fB\-XRecordWildCards\fP
- Enable record wildcards.
- Implies \fBDisambiguateRecordFields\fP\&.
- .TP
- .B \fB\-XRecursiveDo\fP
- Enable recursive do (mdo) notation.
- .TP
- .B \fB\-XRoleAnnotations\fP
- Enable role annotations.
- .TP
- .B \fB\-XSafe\fP
- Enable the Safe Haskell Safe mode.
- .TP
- .B \fB\-XScopedTypeVariables\fP
- Enable lexically\-scoped type variables.
- .TP
- .B \fB\-XStandaloneDeriving\fP
- Enable standalone deriving.
- .TP
- .B \fB\-XStandaloneKindSignatures\fP
- Allow the use of standalone kind signatures.
- .TP
- .B \fB\-XStarIsType\fP
- Treat \fB*\fP as \fBData.Kind.Type\fP\&.
- .TP
- .B \fB\-XStaticPointers\fP
- Enable static pointers.
- .TP
- .B \fB\-XStrict\fP
- Make bindings in the current module strict by default.
- .TP
- .B \fB\-XStrictData\fP
- Enable default strict datatype fields.
- .TP
- .B \fB\-XTemplateHaskell\fP
- Enable Template Haskell.
- .TP
- .B \fB\-XTemplateHaskellQuotes\fP
- Enable quotation subset of
- Template Haskell\&.
- .TP
- .B \fB\-XTransformListComp\fP
- Enable generalised list comprehensions.
- .TP
- .B \fB\-XTrustworthy\fP
- Enable the Safe Haskell Trustworthy mode.
- .TP
- .B \fB\-XTupleSections\fP
- Enable tuple sections.
- .TP
- .B \fB\-XTypeApplications\fP
- Enable type application syntax in terms and types.
- .TP
- .B \fB\-XTypeFamilies\fP
- Enable type families.
- Implies \fBExplicitNamespaces\fP, \fBKindSignatures\fP,
- and \fBMonoLocalBinds\fP\&.
- .TP
- .B \fB\-XTypeFamilyDependencies\fP
- Enable injective type families.
- Implies \fBTypeFamilies\fP\&.
- .TP
- .B \fB\-XTypeInType\fP
- Deprecated. Enable kind polymorphism and datatype promotion.
- .TP
- .B \fB\-XTypeOperators\fP
- Enable type operators.
- Implies \fBExplicitNamespaces\fP\&.
- .TP
- .B \fB\-XTypeSynonymInstances\fP
- Enable type synonyms in instance heads.
- Implied by \fBFlexibleInstances\fP\&.
- .TP
- .B \fB\-XUnboxedSums\fP
- Enable unboxed sums.
- .TP
- .B \fB\-XUnboxedTuples\fP
- Enable the use of unboxed tuple syntax.
- .TP
- .B \fB\-XUndecidableInstances\fP
- Enable undecidable instances.
- .TP
- .B \fB\-XUndecidableSuperClasses\fP
- Allow all superclass constraints, including those that may
- result in non\-termination of the typechecker.
- .TP
- .B \fB\-XUnicodeSyntax\fP
- Enable unicode syntax.
- .TP
- .B \fB\-XUnliftedFFITypes\fP
- Enable unlifted FFI types
- .TP
- .B \fB\-XUnliftedNewtypes\fP
- Enable unlifted newtypes.
- .TP
- .B \fB\-XUnsafe\fP
- Enable Safe Haskell Unsafe mode.
- .TP
- .B \fB\-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 \fB\-debug\fP
- Use the debugging runtime
- .TP
- .B \fB\-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 \fB\-dynamic\fP
- Build dynamically\-linked object files and executables
- .TP
- .B \fB\-dynload\fP
- Selects one of a number of modes for finding shared libraries at runtime.
- .TP
- .B \fB\-eventlog\fP
- Enable runtime event tracing
- .TP
- .B \fB\-fno\-embed\-manifest\fP
- Do not embed the manifest in the executable (Windows only)
- .TP
- .B \fB\-fno\-gen\-manifest\fP
- Do not generate a manifest file (Windows only)
- .TP
- .B \fB\-fno\-shared\-implib\fP
- Don\(aqt generate an import library for a DLL (Windows only)
- .TP
- .B \fB\-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 \fB\-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 \fB\-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 \fB\-keep\-cafs\fP
- Do not garbage\-collect CAFs (top\-level expressions) at runtime
- .TP
- .B \fB\-L ⟨dir⟩\fP
- Add ⟨dir⟩ to the list of directories searched for libraries
- .TP
- .B \fB\-l ⟨lib⟩\fP
- Link in library ⟨lib⟩
- .TP
- .B \fB\-main\-is ⟨thing⟩\fP
- Set main module and function
- .TP
- .B \fB\-no\-hs\-main\fP
- Don\(aqt assume this program contains \fBmain\fP
- .TP
- .B \fB\-no\-rtsopts\-suggestions\fP
- Don\(aqt print RTS suggestions about linking with
- \fB\-rtsopts[=⟨none|some|all|ignore|ignoreAll⟩]\fP\&.
- .TP
- .B \fB\-package ⟨name⟩\fP
- Expose package ⟨pkg⟩
- .TP
- .B \fB\-pie\fP
- Instruct the linker to produce a position\-independent executable.
- .TP
- .B \fB\-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 \fB\-rtsopts[=⟨none|some|all|ignore|ignoreAll⟩]\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); \fBall\fP (or no
- argument at all) means that all RTS flags are permitted; \fBignore\fP
- means RTS flags can be given, but are treated as regular arguments and
- passed to the Haskell program as arguments; \fBignoreAll\fP is the same as
- \fBignore\fP, but \fBGHCRTS\fP is also ignored. \fB\-rtsopts\fP does not
- affect \fB\-with\-rtsopts\fP behavior; flags passed via \fB\-with\-rtsopts\fP
- are used regardless of \fB\-rtsopts\fP\&.
- .TP
- .B \fB\-shared\fP
- Generate a shared library (as opposed to an executable)
- .TP
- .B \fB\-split\-sections\fP
- Split sections for link\-time dead\-code stripping
- .TP
- .B \fB\-static\fP
- Use static Haskell libraries
- .TP
- .B \fB\-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 \fB\-threaded\fP
- Use the threaded runtime
- .TP
- .B \fB\-with\-rtsopts=⟨opts⟩\fP
- Set the default RTS options to ⟨opts⟩.
- .UNINDENT
- .SS Miscellaneous options
- .INDENT 0.0
- .TP
- .B \fB\-fexternal\-interpreter\fP
- Run interpreted code in a separate process
- .TP
- .B \fB\-fglasgow\-exts\fP
- Deprecated. Enable most language extensions;
- see options\-language for exactly which ones.
- .TP
- .B \fB\-ghcversion\-file ⟨path to ghcversion.h⟩\fP
- (GHC as a C compiler only) Use this \fBghcversion.h\fP file
- .TP
- .B \fB\-H ⟨size⟩\fP
- Set the minimum size of the heap to ⟨size⟩
- .TP
- .B \fB\-j[⟨n⟩]\fP
- When compiling with \fB\-\-make\fP, compile ⟨n⟩ modules
- in parallel.
- .UNINDENT
- .SS Modes of operation
- .INDENT 0.0
- .TP
- .B \fB\-\-frontend ⟨module⟩\fP
- run GHC with the given frontend plugin; see
- frontend_plugins for details.
- .TP
- .B \fB\-\-help\fP
- Display help
- .TP
- .B \fB\-\-info\fP
- display information about the compiler
- .TP
- .B \fB\-\-interactive\fP
- Interactive mode \- normally used by just running \fBghci\fP;
- see ghci for details.
- .TP
- .B \fB\-\-make\fP
- Build a multi\-module Haskell program, automatically figuring out
- dependencies. Likely to be much easier, and faster, than using
- \fBmake\fP; see make\-mode for details.
- .TP
- .B \fB\-\-mk\-dll\fP
- DLL\-creation mode (Windows only)
- .TP
- .B \fB\-\-numeric\-version\fP
- display GHC version (numeric only)
- .TP
- .B \fB\-\-print\-libdir\fP
- display GHC library directory
- .TP
- .B \fB\-\-show\-iface ⟨file⟩\fP
- display the contents of an interface file.
- .TP
- .B \fB\-\-show\-options\fP
- display the supported command line options
- .TP
- .B \fB\-\-supported\-extensions\fP
- display the supported language extensions
- .TP
- .B \fB\-\-version\fP
- display GHC version
- .TP
- .B \fB\-e ⟨expr⟩\fP
- Evaluate \fBexpr\fP; see eval\-mode for details.
- .TP
- .B \fB\-M\fP
- generate dependency information suitable for use in a
- \fBMakefile\fP; see makefile\-dependencies for details.
- .UNINDENT
- .SS Individual optimizations
- .INDENT 0.0
- .TP
- .B \fB\-fasm\-shortcutting\fP
- Enable shortcutting on assembly. Implied by \fB\-O2\fP\&.
- .TP
- .B \fB\-fbinary\-blob\-threshold=⟨n⟩\fP
- \fIdefault: 500K.\fP Tweak assembly generator for binary blobs.
- .TP
- .B \fB\-fblock\-layout\-cfg\fP
- Use the new cfg based block layout algorithm.
- .TP
- .B \fB\-fblock\-layout\-weightless\fP
- Ignore cfg weights for code layout.
- .TP
- .B \fB\-fblock\-layout\-weights\fP
- Sets edge weights used by the new code layout algorithm.
- .TP
- .B \fB\-fcall\-arity\fP
- Enable call\-arity optimisation. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fcase\-folding\fP
- Enable constant folding in case expressions. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fcase\-merge\fP
- Enable case\-merging. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fcmm\-elim\-common\-blocks\fP
- Enable Cmm common block elimination. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fcmm\-sink\fP
- Enable Cmm sinking. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fcpr\-anal\fP
- Turn on CPR analysis in the demand analyser. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fcross\-module\-specialise\fP
- Turn on specialisation of overloaded functions imported from
- other modules.
- .TP
- .B \fB\-fcse\fP
- Enable common sub\-expression elimination. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fdicts\-cheap\fP
- Make dictionary\-valued expressions seem cheap to the optimiser.
- .TP
- .B \fB\-fdicts\-strict\fP
- Make dictionaries strict
- .TP
- .B \fB\-fdmd\-tx\-dict\-sel\fP
- Use a special demand transformer for dictionary selectors.
- Always enabled by default.
- .TP
- .B \fB\-fdo\-eta\-reduction\fP
- Enable eta\-reduction. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fdo\-lambda\-eta\-expansion\fP
- Enable lambda eta\-expansion. Always enabled by default.
- .TP
- .B \fB\-feager\-blackholing\fP
- Turn on eager blackholing
- .TP
- .B \fB\-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 \fB\-fexcess\-precision\fP
- Enable excess intermediate precision
- .TP
- .B \fB\-fexitification\fP
- Enables exitification optimisation. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fexpose\-all\-unfoldings\fP
- Expose all unfoldings, even for very large or recursive functions.
- .TP
- .B \fB\-ffloat\-in\fP
- Turn on the float\-in transformation. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-ffull\-laziness\fP
- Turn on full laziness (floating bindings outwards).
- Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-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 \fB\-fignore\-asserts\fP
- Ignore assertions in the source. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fignore\-interface\-pragmas\fP
- Ignore pragmas in interface files. Implied by \fB\-O0\fP only.
- .TP
- .B \fB\-flate\-dmd\-anal\fP
- Run demand analysis again, at the end of the
- simplification pipeline
- .TP
- .B \fB\-flate\-specialise\fP
- Run a late specialisation pass
- .TP
- .B \fB\-fliberate\-case\fP
- Turn on the liberate\-case transformation. Implied by \fB\-O2\fP\&.
- .TP
- .B \fB\-fliberate\-case\-threshold=⟨n⟩\fP
- \fIdefault: 2000.\fP Set the size threshold for the liberate\-case
- transformation to ⟨n⟩
- .TP
- .B \fB\-fllvm\-pass\-vectors\-in\-regs\fP
- Pass vector value in vector registers for function calls
- .TP
- .B \fB\-floopification\fP
- Turn saturated self\-recursive tail\-calls into local jumps in the
- generated assembly. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fmax\-inline\-alloc\-size=⟨n⟩\fP
- \fIdefault: 128.\fP Set the maximum size of inline array allocations
- to ⟨n⟩ bytes (default: 128).
- .TP
- .B \fB\-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 \fB\-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 \fB\-fmax\-simplifier\-iterations=⟨n⟩\fP
- \fIdefault: 4.\fP Set the max iterations for the simplifier.
- .TP
- .B \fB\-fmax\-uncovered\-patterns=⟨n⟩\fP
- \fIdefault: 4.\fP Set the maximum number of patterns to display in
- warnings about non\-exhaustive ones.
- .TP
- .B \fB\-fmax\-worker\-args=⟨n⟩\fP
- \fIdefault: 10.\fP If a worker has that many arguments, none will
- be unpacked anymore.
- .TP
- .B \fB\-fno\-opt\-coercion\fP
- Turn off the coercion optimiser
- .TP
- .B \fB\-fno\-pre\-inlining\fP
- Turn off pre\-inlining
- .TP
- .B \fB\-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 \fB\-fomit\-interface\-pragmas\fP
- Don\(aqt generate interface pragmas. Implied by \fB\-O0\fP only.
- .TP
- .B \fB\-fomit\-yields\fP
- Omit heap checks when no allocation is being performed.
- .TP
- .B \fB\-foptimal\-applicative\-do\fP
- Use a slower but better algorithm for ApplicativeDo
- .TP
- .B \fB\-fpedantic\-bottoms\fP
- Make GHC be more precise about its treatment of bottom (but see
- also \fB\-fno\-state\-hack\fP). In particular, GHC will not
- eta\-expand through a case expression.
- .TP
- .B \fB\-fregs\-graph\fP
- Use the graph colouring register allocator for register
- allocation in the native code generator. Implied by \fB\-O2\fP\&.
- .TP
- .B \fB\-fregs\-iterative\fP
- Use the iterative coalescing graph colouring register allocator
- in the native code generator.
- .TP
- .B \fB\-fsimpl\-tick\-factor=⟨n⟩\fP
- \fIdefault: 100.\fP Set the percentage factor for simplifier ticks.
- .TP
- .B \fB\-fsimplifier\-phases=⟨n⟩\fP
- \fIdefault: 2.\fP Set the number of phases for the simplifier.
- Ignored with \fB\-O0\fP\&.
- .TP
- .B \fB\-fsolve\-constant\-dicts\fP
- When solving constraints, try to eagerly solve
- super classes using available dictionaries.
- .TP
- .B \fB\-fspec\-constr\fP
- Turn on the SpecConstr transformation. Implied by \fB\-O2\fP\&.
- .TP
- .B \fB\-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 \fB\-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 \fB\-fspec\-constr\-threshold=⟨n⟩\fP
- \fIdefault: 2000.\fP Set the size threshold for the SpecConstr
- transformation to ⟨n⟩.
- .TP
- .B \fB\-fspecialise\fP
- Turn on specialisation of overloaded functions. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-fspecialise\-aggressively\fP
- Turn on specialisation of overloaded functions regardless of
- size, if unfolding is available
- .TP
- .B \fB\-fstatic\-argument\-transformation\fP
- Turn on the static argument transformation.
- .TP
- .B \fB\-fstg\-cse\fP
- Enable common sub\-expression elimination on the STG
- intermediate language
- .TP
- .B \fB\-fstg\-lift\-lams\fP
- Enable late lambda lifting on the STG intermediate
- language. Implied by \fB\-O2\fP\&.
- .TP
- .B \fB\-fstg\-lift\-lams\-known\fP
- Allow turning known into unknown calls while performing
- late lambda lifting.
- .TP
- .B \fB\-fstg\-lift\-lams\-non\-rec\-args\fP
- Create top\-level non\-recursive functions with at most <n>
- parameters while performing late lambda lifting.
- .TP
- .B \fB\-fstg\-lift\-lams\-rec\-args\fP
- Create top\-level recursive functions with at most <n>
- parameters while performing late lambda lifting.
- .TP
- .B \fB\-fstrictness\fP
- Turn on strictness analysis.
- Implied by \fB\-O\fP\&. Implies \fB\-fworker\-wrapper\fP
- .TP
- .B \fB\-fstrictness\-before=⟨n⟩\fP
- Run an additional strictness analysis before simplifier phase ⟨n⟩
- .TP
- .B \fB\-funbox\-small\-strict\-fields\fP
- Flatten strict constructor fields with a pointer\-sized
- representation. Implied by \fB\-O\fP\&.
- .TP
- .B \fB\-funbox\-strict\-fields\fP
- Flatten strict constructor fields
- .TP
- .B \fB\-funfolding\-creation\-threshold=⟨n⟩\fP
- \fIdefault: 750.\fP Tweak unfolding settings.
- .TP
- .B \fB\-funfolding\-dict\-discount=⟨n⟩\fP
- \fIdefault: 30.\fP Tweak unfolding settings.
- .TP
- .B \fB\-funfolding\-fun\-discount=⟨n⟩\fP
- \fIdefault: 60.\fP Tweak unfolding settings.
- .TP
- .B \fB\-funfolding\-keeness\-factor=⟨n⟩\fP
- \fIdefault: 1.5.\fP Tweak unfolding settings.
- .TP
- .B \fB\-funfolding\-use\-threshold=⟨n⟩\fP
- \fIdefault: 60.\fP Tweak unfolding settings.
- .TP
- .B \fB\-fworker\-wrapper\fP
- Enable the worker\-wrapper transformation.
- .UNINDENT
- .SS Optimization levels
- .INDENT 0.0
- .TP
- .B \fB\-O\fP
- Enable level 1 optimisations
- .TP
- .B \fB\-O0\fP
- Disable optimisations (default)
- .TP
- .B \fB\-O2\fP
- Enable level 2 optimisations
- .TP
- .B \fB\-O⟨n⟩\fP
- Any \-On where n > 2 is the same as \-O2.
- .UNINDENT
- .SS Package options
- .INDENT 0.0
- .TP
- .B \fB\-clear\-package\-db\fP
- Clear the package db stack.
- .TP
- .B \fB\-distrust ⟨pkg⟩\fP
- Expose package ⟨pkg⟩ and set it to be distrusted. See
- safe\-haskell\&.
- .TP
- .B \fB\-distrust\-all\-packages\fP
- Distrust all packages by default. See safe\-haskell\&.
- .TP
- .B \fB\-fpackage\-trust\fP
- Enable Safe Haskell trusted package
- requirement for trustworthy modules.
- .TP
- .B \fB\-global\-package\-db\fP
- Add the global package db to the stack.
- .TP
- .B \fB\-hide\-all\-packages\fP
- Hide all packages by default
- .TP
- .B \fB\-hide\-package ⟨pkg⟩\fP
- Hide package ⟨pkg⟩
- .TP
- .B \fB\-ignore\-package ⟨pkg⟩\fP
- Ignore package ⟨pkg⟩
- .TP
- .B \fB\-no\-auto\-link\-packages\fP
- Don\(aqt automatically link in the base and rts packages.
- .TP
- .B \fB\-no\-global\-package\-db\fP
- Remove the global package db from the stack.
- .TP
- .B \fB\-no\-user\-package\-db\fP
- Remove the user\(aqs package db from the stack.
- .TP
- .B \fB\-package ⟨pkg⟩\fP
- Expose package ⟨pkg⟩
- .TP
- .B \fB\-package\-db ⟨file⟩\fP
- Add ⟨file⟩ to the package db stack.
- .TP
- .B \fB\-package\-env ⟨file⟩|⟨name⟩\fP
- Use the specified package environment.
- .TP
- .B \fB\-package\-id ⟨unit\-id⟩\fP
- Expose package by id ⟨unit\-id⟩
- .TP
- .B \fB\-this\-unit\-id ⟨unit\-id⟩\fP
- Compile to be part of unit (i.e. package)
- ⟨unit\-id⟩
- .TP
- .B \fB\-trust ⟨pkg⟩\fP
- Expose package ⟨pkg⟩ and set it to be trusted. See
- safe\-haskell\&.
- .TP
- .B \fB\-user\-package\-db\fP
- Add the user\(aqs package db to the stack.
- .UNINDENT
- .SS Phases of compilation
- .INDENT 0.0
- .TP
- .B \fB\-C\fP
- Stop after generating C (\fB\&.hc\fP file)
- .TP
- .B \fB\-c\fP
- Stop after generating object (\fB\&.o\fP) file
- .TP
- .B \fB\-E\fP
- Stop after preprocessing (\fB\&.hspp\fP file)
- .TP
- .B \fB\-F\fP
- Enable the use of a pre\-processor
- (set with \fB\-pgmF ⟨cmd⟩\fP)
- .TP
- .B \fB\-S\fP
- Stop after generating assembly (\fB\&.s\fP file)
- .TP
- .B \fB\-x ⟨suffix⟩\fP
- Override default behaviour for source files
- .UNINDENT
- .SS Overriding external programs
- .INDENT 0.0
- .TP
- .B \fB\-pgma ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the assembler
- .TP
- .B \fB\-pgmc ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the C compiler
- .TP
- .B \fB\-pgmdll ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the DLL generator
- .TP
- .B \fB\-pgmF ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the pre\-processor (with \fB\-F\fP only)
- .TP
- .B \fB\-pgmi ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the external interpreter command.
- .TP
- .B \fB\-pgminstall_name_tool ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the program to inject \fBrunpath\fP into mach\-o dylibs on macOS
- .TP
- .B \fB\-pgmL ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the literate pre\-processor
- .TP
- .B \fB\-pgml ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the linker
- .TP
- .B \fB\-pgmlc ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the LLVM compiler
- .TP
- .B \fB\-pgmlibtool ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the command for libtool (with \fB\-staticlib\fP only).
- .TP
- .B \fB\-pgmlm ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the linker when merging object files
- .TP
- .B \fB\-pgmlo ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the LLVM optimiser
- .TP
- .B \fB\-pgmotool ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the program to inspect mach\-o dylibs on macOS
- .TP
- .B \fB\-pgmP ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the C pre\-processor (with \fB\-cpp\fP only)
- .TP
- .B \fB\-pgms ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the splitter
- .TP
- .B \fB\-pgmwindres ⟨cmd⟩\fP
- Use ⟨cmd⟩ as the program for embedding manifests on Windows.
- .UNINDENT
- .SS Phase\-specific options
- .INDENT 0.0
- .TP
- .B \fB\-opta ⟨option⟩\fP
- pass ⟨option⟩ to the assembler
- .TP
- .B \fB\-optc ⟨option⟩\fP
- pass ⟨option⟩ to the C compiler
- .TP
- .B \fB\-optcxx ⟨option⟩\fP
- pass ⟨option⟩ to the C++ compiler
- .TP
- .B \fB\-optdll ⟨option⟩\fP
- pass ⟨option⟩ to the DLL generator
- .TP
- .B \fB\-optF ⟨option⟩\fP
- pass ⟨option⟩ to the custom pre\-processor
- .TP
- .B \fB\-opti ⟨option⟩\fP
- pass ⟨option⟩ to the interpreter sub\-process.
- .TP
- .B \fB\-optL ⟨option⟩\fP
- pass ⟨option⟩ to the literate pre\-processor
- .TP
- .B \fB\-optl ⟨option⟩\fP
- pass ⟨option⟩ to the linker
- .TP
- .B \fB\-optlc ⟨option⟩\fP
- pass ⟨option⟩ to the LLVM compiler
- .TP
- .B \fB\-optlm ⟨option⟩\fP
- pass ⟨option⟩ to the linker when merging object files.
- .TP
- .B \fB\-optlo ⟨option⟩\fP
- pass ⟨option⟩ to the LLVM optimiser
- .TP
- .B \fB\-optP ⟨option⟩\fP
- pass ⟨option⟩ to cpp (with \fB\-cpp\fP only)
- .TP
- .B \fB\-optwindres ⟨option⟩\fP
- pass ⟨option⟩ to \fBwindres\fP\&.
- .TP
- .B \fB\-pgmc\-supports\-no\-pie\fP
- Indicate that the C compiler supports \fB\-no\-pie\fP
- .UNINDENT
- .SS Platform\-specific options
- .INDENT 0.0
- .TP
- .B \fB\-mbmi2\fP
- (x86 only) Use BMI2 for bit manipulation operations
- .TP
- .B \fB\-msse2\fP
- (x86 only) Use SSE2 for floating\-point operations
- .TP
- .B \fB\-msse4.2\fP
- (x86 only) Use SSE4.2 for floating\-point operations
- .UNINDENT
- .SS Compiler plugins
- .INDENT 0.0
- .TP
- .B \fB\-fclear\-plugins\fP
- Clear the list of active plugins
- .TP
- .B \fB\-fplugin\-opt=⟨module⟩:⟨args⟩\fP
- Give arguments to a plugin module; module must be specified with
- \fB\-fplugin=⟨module⟩\fP
- .TP
- .B \fB\-fplugin\-trustworthy\fP
- Trust the used plugins and no longer mark the compiled module
- as unsafe
- .TP
- .B \fB\-fplugin=⟨module⟩\fP
- Load a plugin exported by a given module
- .TP
- .B \fB\-hide\-all\-plugin\-packages\fP
- Hide all packages for plugins by default
- .TP
- .B \fB\-plugin\-package ⟨pkg⟩\fP
- Expose ⟨pkg⟩ for plugins
- .TP
- .B \fB\-plugin\-package\-id ⟨pkg\-id⟩\fP
- Expose ⟨pkg\-id⟩ for plugins
- .UNINDENT
- .SS Profiling
- .INDENT 0.0
- .TP
- .B \fB\-fno\-prof\-auto\fP
- Disables any previous \fB\-fprof\-auto\fP,
- \fB\-fprof\-auto\-top\fP, or \fB\-fprof\-auto\-exported\fP options.
- .TP
- .B \fB\-fno\-prof\-cafs\fP
- Disables any previous \fB\-fprof\-cafs\fP option.
- .TP
- .B \fB\-fno\-prof\-count\-entries\fP
- Do not collect entry counts
- .TP
- .B \fB\-fprof\-auto\fP
- Auto\-add \fBSCC\fP\e s to all bindings not marked INLINE
- .TP
- .B \fB\-fprof\-auto\-calls\fP
- Auto\-add \fBSCC\fP\e s to all call sites
- .TP
- .B \fB\-fprof\-auto\-exported\fP
- Auto\-add \fBSCC\fP\e s to all exported bindings not marked INLINE
- .TP
- .B \fB\-fprof\-auto\-top\fP
- Auto\-add \fBSCC\fP\e s to all top\-level bindings not marked INLINE
- .TP
- .B \fB\-fprof\-cafs\fP
- Auto\-add \fBSCC\fP\e s to all CAFs
- .TP
- .B \fB\-prof\fP
- Turn on profiling
- .TP
- .B \fB\-ticky\fP
- Turn on ticky\-ticky profiling
- .UNINDENT
- .SS Program coverage
- .INDENT 0.0
- .TP
- .B \fB\-fhpc\fP
- Turn on Haskell program coverage instrumentation
- .UNINDENT
- .SS Recompilation checking
- .INDENT 0.0
- .TP
- .B \fB\-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 \fB\-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 \fB\-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 \fB\-\-exclude\-module=⟨file⟩\fP
- Regard \fB⟨file⟩\fP as "stable"; i.e., exclude it from having
- dependencies on it.
- .TP
- .B \fB\-ddump\-mod\-cycles\fP
- Dump module cycles
- .TP
- .B \fB\-dep\-makefile ⟨file⟩\fP
- Use ⟨file⟩ as the makefile
- .TP
- .B \fB\-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 \fB\-dumpdir ⟨dir⟩\fP
- redirect dump files
- .TP
- .B \fB\-hcsuf ⟨suffix⟩\fP
- set the suffix to use for intermediate C files
- .TP
- .B \fB\-hidir ⟨dir⟩\fP
- set directory for interface files
- .TP
- .B \fB\-hiedir ⟨dir⟩\fP
- set directory for extended interface files
- .TP
- .B \fB\-hiesuf ⟨suffix⟩\fP
- set the suffix to use for extended interface files
- .TP
- .B \fB\-hisuf ⟨suffix⟩\fP
- set the suffix to use for interface files
- .TP
- .B \fB\-include\-cpp\-deps\fP
- Include preprocessor dependencies
- .TP
- .B \fB\-include\-pkg\-deps\fP
- Regard modules imported from packages as unstable
- .TP
- .B \fB\-o ⟨file⟩\fP
- set output filename
- .TP
- .B \fB\-odir ⟨dir⟩\fP
- set directory for object files
- .TP
- .B \fB\-ohi ⟨file⟩\fP
- set the filename in which to put the interface
- .TP
- .B \fB\-osuf ⟨suffix⟩\fP
- set the output file suffix
- .TP
- .B \fB\-outputdir ⟨dir⟩\fP
- set output directory
- .TP
- .B \fB\-stubdir ⟨dir⟩\fP
- redirect FFI stub files
- .UNINDENT
- .SS Temporary files
- .INDENT 0.0
- .TP
- .B \fB\-tmpdir ⟨dir⟩\fP
- set the directory for temporary files
- .UNINDENT
- .SS Verbosity options
- .INDENT 0.0
- .TP
- .B \fB\-fabstract\-refinement\-hole\-fits\fP
- \fIdefault: off.\fP Toggles whether refinements where one or more
- of the holes are abstract are reported.
- .TP
- .B \fB\-fdefer\-diagnostics\fP
- Defer and group diagnostic messages by severity
- .TP
- .B \fB\-fdiagnostics\-color=⟨always|auto|never⟩\fP
- Use colors in error messages
- .TP
- .B \fB\-fdiagnostics\-show\-caret\fP
- Whether to show snippets of original source code
- .TP
- .B \fB\-ferror\-spans\fP
- Output full span in error messages
- .TP
- .B \fB\-fhide\-source\-paths\fP
- hide module source and object paths
- .TP
- .B \fB\-fkeep\-going\fP
- Continue compilation as far as possible on errors
- .TP
- .B \fB\-fmax\-refinement\-hole\-fits=⟨n⟩\fP
- \fIdefault: 6.\fP Set the maximum number of refinement hole fits
- for typed holes to display in type error messages.
- .TP
- .B \fB\-fmax\-relevant\-binds=⟨n⟩\fP
- \fIdefault: 6.\fP Set the maximum number of bindings to display in
- type error messages.
- .TP
- .B \fB\-fmax\-valid\-hole\-fits=⟨n⟩\fP
- \fIdefault: 6.\fP Set the maximum number of valid hole fits for
- typed holes to display in type error messages.
- .TP
- .B \fB\-fno\-show\-valid\-hole\-fits\fP
- Disables showing a list of valid hole fits for typed holes
- in type error messages.
- .TP
- .B \fB\-fno\-sort\-valid\-hole\-fits\fP
- Disables the sorting of the list of valid hole fits for typed holes
- in type error messages.
- .TP
- .B \fB\-fprint\-axiom\-incomps\fP
- Display equation incompatibilities in closed type families
- .TP
- .B \fB\-fprint\-equality\-relations\fP
- Distinguish between equality relations when printing
- .TP
- .B \fB\-fprint\-expanded\-synonyms\fP
- In type errors, also print type\-synonym\-expanded types.
- .TP
- .B \fB\-fprint\-explicit\-coercions\fP
- Print coercions in types
- .TP
- .B \fB\-fprint\-explicit\-foralls\fP
- Print explicit \fBforall\fP quantification in types.
- See also \fBExplicitForAll\fP
- .TP
- .B \fB\-fprint\-explicit\-kinds\fP
- Print explicit kind foralls and kind arguments in types.
- See also \fBKindSignatures\fP
- .TP
- .B \fB\-fprint\-explicit\-runtime\-reps\fP
- Print \fBRuntimeRep\fP variables in types which are
- runtime\-representation polymorphic.
- .TP
- .B \fB\-fprint\-potential\-instances\fP
- display all available instances in type error messages
- .TP
- .B \fB\-fprint\-typechecker\-elaboration\fP
- Print extra information from typechecker.
- .TP
- .B \fB\-fprint\-unicode\-syntax\fP
- Use unicode syntax when printing expressions, types and kinds.
- See also \fBUnicodeSyntax\fP
- .TP
- .B \fB\-frefinement\-level\-hole\-fits=⟨n⟩\fP
- \fIdefault: off.\fP Sets the level of refinement of the
- refinement hole fits, where level \fBn\fP means that hole fits
- of up to \fBn\fP holes will be considered.
- .TP
- .B \fB\-freverse\-errors\fP
- Output errors in reverse order
- .TP
- .B \fB\-fshow\-docs\-of\-hole\-fits\fP
- Toggles whether to show the documentation of the valid
- hole fits in the output.
- .TP
- .B \fB\-fshow\-hole\-constraints\fP
- Show constraints when reporting typed holes.
- .TP
- .B \fB\-fshow\-hole\-matches\-of\-hole\-fits\fP
- Toggles whether to show the type of the additional holes
- in refinement hole fits.
- .TP
- .B \fB\-fshow\-provenance\-of\-hole\-fits\fP
- Toggles whether to show the provenance of the valid hole fits
- in the output.
- .TP
- .B \fB\-fshow\-type\-app\-of\-hole\-fits\fP
- Toggles whether to show the type application of the valid
- hole fits in the output.
- .TP
- .B \fB\-fshow\-type\-app\-vars\-of\-hole\-fits\fP
- Toggles whether to show what type each quantified
- variable takes in a valid hole fit.
- .TP
- .B \fB\-fshow\-type\-of\-hole\-fits\fP
- Toggles whether to show the type of the valid hole fits
- in the output.
- .TP
- .B \fB\-funclutter\-valid\-hole\-fits\fP
- Unclutter the list of valid hole fits by not showing
- provenance nor type applications of suggestions.
- .TP
- .B \fB\-Rghc\-timing\fP
- Summarise timing stats for GHC (same as \fB+RTS \-tstderr\fP).
- .TP
- .B \fB\-v\fP
- verbose mode (equivalent to \fB\-v3\fP)
- .TP
- .B \fB\-v⟨n⟩\fP
- set verbosity level
- .UNINDENT
- .SS Warnings
- .INDENT 0.0
- .TP
- .B \fB\-fdefer\-out\-of\-scope\-variables\fP
- Convert variable out of scope variables errors into warnings.
- Implied by \fB\-fdefer\-type\-errors\fP\&.
- See also \fB\-Wdeferred\-out\-of\-scope\-variables\fP\&.
- .TP
- .B \fB\-fdefer\-type\-errors\fP
- Turn type errors into warnings, deferring the error until
- runtime\&. Implies
- \fB\-fdefer\-typed\-holes\fP and
- \fB\-fdefer\-out\-of\-scope\-variables\fP\&.
- See also \fB\-Wdeferred\-type\-errors\fP
- .TP
- .B \fB\-fdefer\-typed\-holes\fP
- Convert typed hole errors into warnings,
- deferring the error until runtime\&.
- Implied by \fB\-fdefer\-type\-errors\fP\&.
- See also \fB\-Wtyped\-holes\fP\&.
- .TP
- .B \fB\-fenable\-th\-splice\-warnings\fP
- Generate warnings for Template Haskell splices
- .TP
- .B \fB\-fhelpful\-errors\fP
- Make suggestions for mis\-spelled names.
- .TP
- .B \fB\-fmax\-pmcheck\-models=⟨n⟩\fP
- soft limit on the number of parallel models the pattern match
- checker should check a pattern match clause against
- .TP
- .B \fB\-fshow\-warning\-groups\fP
- show which group an emitted warning belongs to.
- .TP
- .B \fB\-fvia\-C\fP
- use the C code generator
- .TP
- .B \fB\-W\fP
- enable normal warnings
- .TP
- .B \fB\-w\fP
- disable all warnings
- .TP
- .B \fB\-Wall\fP
- enable almost all warnings (details in options\-sanity)
- .TP
- .B \fB\-Wall\-missed\-specialisations\fP
- warn when specialisation of any overloaded function fails.
- .TP
- .B \fB\-Wcompat\fP
- enable future compatibility warnings
- (details in options\-sanity)
- .TP
- .B \fB\-Wcompat\-unqualified\-imports\fP
- Report unqualified imports of core libraries which are expected
- to cause compatibility problems in future releases.
- .TP
- .B \fB\-Wcpp\-undef\fP
- warn on uses of the \fI#if\fP directive on undefined identifiers
- .TP
- .B \fB\-Wdeferred\-out\-of\-scope\-variables\fP
- Report warnings when variable out\-of\-scope errors are
- deferred until runtime\&.
- See \fB\-fdefer\-out\-of\-scope\-variables\fP\&.
- .TP
- .B \fB\-Wdeferred\-type\-errors\fP
- Report warnings when deferred type errors are enabled. This option is enabled by
- default. See \fB\-fdefer\-type\-errors\fP\&.
- .TP
- .B \fB\-Wdeprecated\-flags\fP
- warn about uses of commandline flags that are deprecated
- .TP
- .B \fB\-Wdeprecations\fP
- warn about uses of functions & types that have warnings or
- deprecated pragmas. Alias for \fB\-Wwarnings\-deprecations\fP
- .TP
- .B \fB\-Wderiving\-defaults\fP
- warn about default deriving when using both
- \fBDeriveAnyClass\fP and \fBGeneralizedNewtypeDeriving\fP
- .TP
- .B \fB\-Wdodgy\-exports\fP
- warn about dodgy exports
- .TP
- .B \fB\-Wdodgy\-foreign\-imports\fP
- warn about dodgy foreign imports
- .TP
- .B \fB\-Wdodgy\-imports\fP
- warn about dodgy imports
- .TP
- .B \fB\-Wduplicate\-constraints\fP
- warn when a constraint appears duplicated in a type signature
- .TP
- .B \fB\-Wduplicate\-exports\fP
- warn when an entity is exported multiple times
- .TP
- .B \fB\-Wempty\-enumerations\fP
- warn about enumerations that are empty
- .TP
- .B \fB\-Werror\fP
- make warnings fatal
- .TP
- .B \fB\-Weverything\fP
- enable all warnings supported by GHC
- .TP
- .B \fB\-Whi\-shadowing\fP
- \fI(deprecated)\fP
- warn when a \fB\&.hi\fP file in the current directory shadows a library
- .TP
- .B \fB\-Widentities\fP
- warn about uses of Prelude numeric conversions that are probably
- the identity (and hence could be omitted)
- .TP
- .B \fB\-Wimplicit\-kind\-vars\fP
- warn when kind variables are implicitly quantified over.
- .TP
- .B \fB\-Wimplicit\-prelude\fP
- warn when the Prelude is implicitly imported
- .TP
- .B \fB\-Winaccessible\-code\fP
- warn about inaccessible code
- .TP
- .B \fB\-Wincomplete\-patterns\fP
- warn when a pattern match could fail
- .TP
- .B \fB\-Wincomplete\-record\-updates\fP
- warn when a record update could fail
- .TP
- .B \fB\-Wincomplete\-uni\-patterns\fP
- warn when a pattern match in a lambda expression or
- pattern binding could fail
- .TP
- .B \fB\-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 rules\-inline\&.
- .TP
- .B \fB\-Wmissed\-extra\-shared\-lib\fP
- Warn when GHCi can\(aqt load a shared lib.
- .TP
- .B \fB\-Wmissed\-specialisations\fP
- warn when specialisation of an imported, overloaded function
- fails.
- .TP
- .B \fB\-Wmissing\-deriving\-strategies\fP
- warn when a deriving clause is missing a deriving strategy
- .TP
- .B \fB\-Wmissing\-export\-lists\fP
- warn when a module declaration does not explicitly list all
- exports
- .TP
- .B \fB\-Wmissing\-exported\-signatures\fP
- warn about top\-level functions without signatures, only if they
- are exported. takes precedence over \-Wmissing\-signatures
- .TP
- .B \fB\-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 \fB\-Wmissing\-fields\fP
- warn when fields of a record are uninitialised
- .TP
- .B \fB\-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 \fB\-Wmissing\-import\-lists\fP
- warn when an import declaration does not explicitly list all the
- names brought into scope
- .TP
- .B \fB\-Wmissing\-local\-signatures\fP
- warn about polymorphic local bindings without signatures
- .TP
- .B \fB\-Wmissing\-local\-sigs\fP
- \fI(deprecated)\fP
- warn about polymorphic local bindings without signatures
- .TP
- .B \fB\-Wmissing\-methods\fP
- warn when class methods are undefined
- .TP
- .B \fB\-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 \fB\-Wmissing\-pattern\-synonym\-signatures\fP
- warn when pattern synonyms do not have type signatures
- .TP
- .B \fB\-Wmissing\-signatures\fP
- warn about top\-level functions without signatures
- .TP
- .B \fB\-Wmonomorphism\-restriction\fP
- warn when the Monomorphism Restriction is applied
- .TP
- .B \fB\-Wname\-shadowing\fP
- warn when names are shadowed
- .TP
- .B \fB\-Wno\-compat\fP
- Disables all warnings enabled by \fB\-Wcompat\fP\&.
- .TP
- .B \fB\-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 options\-sanity for more details.
- .TP
- .B \fB\-Wnoncanonical\-monadfail\-instances\fP
- warn when \fBMonad\fP or \fBMonadFail\fP instances have
- noncanonical definitions of \fBfail\fP\&.
- See flag description in options\-sanity for more details.
- .TP
- .B \fB\-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 options\-sanity for more details.
- .TP
- .B \fB\-Worphans\fP
- warn when the module contains orphan instance declarations
- or rewrite rules
- .TP
- .B \fB\-Woverflowed\-literals\fP
- warn about literals that will overflow their type
- .TP
- .B \fB\-Woverlapping\-patterns\fP
- warn about overlapping patterns
- .TP
- .B \fB\-Wpartial\-fields\fP
- warn when defining a partial record field.
- .TP
- .B \fB\-Wpartial\-type\-signatures\fP
- warn about holes in partial type signatures when
- \fBPartialTypeSignatures\fP is enabled. Not applicable when
- \fBPartialTypeSignatures\fP is not enabled, in which case
- errors are generated for such holes.
- .TP
- .B \fB\-Wredundant\-constraints\fP
- Have the compiler warn about redundant constraints in type
- signatures.
- .TP
- .B \fB\-Wredundant\-record\-wildcards\fP
- Warn about record wildcard matches when the wildcard binds no patterns.
- .TP
- .B \fB\-Wsafe\fP
- warn if the module being compiled is regarded to be safe.
- .TP
- .B \fB\-Wsemigroup\fP
- warn when a \fBMonoid\fP is not \fBSemigroup\fP, and on non\-
- \fBSemigroup\fP definitions of \fB(<>)\fP?
- .TP
- .B \fB\-Wsimplifiable\-class\-constraints\fP
- Warn about class constraints in a type signature that can
- be simplified using a top\-level instance declaration.
- .TP
- .B \fB\-Wspace\-after\-bang\fP
- warn for missing space before the second argument
- of an infix definition of \fB(!)\fP when
- \fBBangPatterns\fP are not enabled
- .TP
- .B \fB\-Wstar\-binder\fP
- warn about binding the \fB(*)\fP type operator despite
- \fBStarIsType\fP
- .TP
- .B \fB\-Wstar\-is\-type\fP
- warn when \fB*\fP is used to mean \fBData.Kind.Type\fP
- .TP
- .B \fB\-Wtabs\fP
- warn if there are tabs in the source file
- .TP
- .B \fB\-Wtrustworthy\-safe\fP
- warn if the module being compiled is marked as
- \fBTrustworthy\fP but it could instead be marked as
- \fBSafe\fP, a more informative bound.
- .TP
- .B \fB\-Wtype\-defaults\fP
- warn when defaulting happens
- .TP
- .B \fB\-Wtyped\-holes\fP
- Report warnings when typed hole errors are
- deferred until runtime\&. See
- \fB\-fdefer\-typed\-holes\fP\&.
- .TP
- .B \fB\-Wunbanged\-strict\-patterns\fP
- warn on pattern bind of unlifted variable that is neither bare
- nor banged
- .TP
- .B \fB\-Wunrecognised\-pragmas\fP
- warn about uses of pragmas that GHC doesn\(aqt recognise
- .TP
- .B \fB\-Wunrecognised\-warning\-flags\fP
- throw a warning when an unrecognised \fB\-W...\fP flag is
- encountered on the command line.
- .TP
- .B \fB\-Wunsafe\fP
- warn if the module being compiled is regarded to be unsafe.
- See safe\-haskell
- .TP
- .B \fB\-Wunsupported\-calling\-conventions\fP
- warn about use of an unsupported calling convention
- .TP
- .B \fB\-Wunsupported\-llvm\-version\fP
- Warn when using \fB\-fllvm\fP with an unsupported
- version of LLVM.
- .TP
- .B \fB\-Wunticked\-promoted\-constructors\fP
- warn if promoted constructors are not ticked
- .TP
- .B \fB\-Wunused\-binds\fP
- warn about bindings that are unused. Alias for
- \fB\-Wunused\-top\-binds\fP, \fB\-Wunused\-local\-binds\fP and
- \fB\-Wunused\-pattern\-binds\fP
- .TP
- .B \fB\-Wunused\-do\-bind\fP
- warn about do bindings that appear to throw away values of types
- other than \fB()\fP
- .TP
- .B \fB\-Wunused\-foralls\fP
- warn about type variables in user\-written
- \fBforall\fP\es that are unused
- .TP
- .B \fB\-Wunused\-imports\fP
- warn about unnecessary imports
- .TP
- .B \fB\-Wunused\-local\-binds\fP
- warn about local bindings that are unused
- .TP
- .B \fB\-Wunused\-matches\fP
- warn about variables in patterns that aren\(aqt used
- .TP
- .B \fB\-Wunused\-packages\fP
- warn when package is requested on command line, but was never loaded.
- .TP
- .B \fB\-Wunused\-pattern\-binds\fP
- warn about pattern match bindings that are unused
- .TP
- .B \fB\-Wunused\-record\-wildcards\fP
- Warn about record wildcard matches when none of the bound variables
- are used.
- .TP
- .B \fB\-Wunused\-top\-binds\fP
- warn about top\-level bindings that are unused
- .TP
- .B \fB\-Wunused\-type\-patterns\fP
- warn about unused type variables which arise from patterns in
- in type family and data family instances
- .TP
- .B \fB\-Wwarn\fP
- make warnings non\-fatal
- .TP
- .B \fB\-Wwarnings\-deprecations\fP
- warn about uses of functions & types that have warnings or
- deprecated pragmas
- .TP
- .B \fB\-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.
- .
|