ghc.1 83 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339
  1. .\" Man page generated from reStructuredText.
  2. .
  3. .TH "GHC" "1" "Feb 04, 2021" "8.10.4" "Glasgow Haskell Compiler"
  4. .SH NAME
  5. ghc \- the Glasgow Haskell Compiler
  6. .
  7. .nr rst2man-indent-level 0
  8. .
  9. .de1 rstReportMargin
  10. \\$1 \\n[an-margin]
  11. level \\n[rst2man-indent-level]
  12. level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
  13. -
  14. \\n[rst2man-indent0]
  15. \\n[rst2man-indent1]
  16. \\n[rst2man-indent2]
  17. ..
  18. .de1 INDENT
  19. .\" .rstReportMargin pre:
  20. . RS \\$1
  21. . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
  22. . nr rst2man-indent-level +1
  23. .\" .rstReportMargin post:
  24. ..
  25. .de UNINDENT
  26. . RE
  27. .\" indent \\n[an-margin]
  28. .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
  29. .nr rst2man-indent-level -1
  30. .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
  31. .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
  32. ..
  33. .SH SYNOPSIS
  34. .INDENT 0.0
  35. .INDENT 3.5
  36. .sp
  37. .nf
  38. .ft C
  39. ghc [option|filename]
  40. ghci [option|filename]
  41. .ft P
  42. .fi
  43. .UNINDENT
  44. .UNINDENT
  45. .SH DESCRIPTION
  46. .sp
  47. This manual page documents briefly the \fBghc\fP and \fBghci\fP commands. Note that
  48. \fBghci\fP is not yet available on all architectures. Extensive documentation is
  49. available in various other formats including \fI\%PDF\fP and \fI\%HTML\fP\&.
  50. .sp
  51. Each of GHC\(aqs command line options is classified as either \fIstatic\fP or
  52. \fIdynamic\fP\&. A static flag may only be specified on the command line, whereas a
  53. dynamic flag may also be given in an \fBOPTIONS\fP pragma in a source file or
  54. set from the GHCi command\-line with \fB:set\fP .
  55. .sp
  56. As a rule of thumb, all the language options are dynamic, as are the
  57. warning options and the debugging options.
  58. .sp
  59. The rest are static, with the notable exceptions of
  60. \fB\-v\fP, \fB\-cpp\fP, \fB\-fasm\fP, \fB\-fvia\-C\fP, \fB\-fllvm\fP, and
  61. \fB\-#include\fP\&.
  62. The OPTIONS sections lists the status of each flag.
  63. .sp
  64. Common suffixes of file names for Haskell are:
  65. .INDENT 0.0
  66. .TP
  67. .B \fB\&.hs\fP
  68. Haskell source code; preprocess, compile
  69. .TP
  70. .B \fB\&.lhs\fP
  71. literate Haskell source; unlit, preprocess, compile
  72. .TP
  73. .B \fB\&.hi\fP
  74. Interface file; contains information about exported symbols
  75. .TP
  76. .B \fB\&.hc\fP
  77. intermediate C files
  78. .TP
  79. .B \fB\&.⟨way⟩_o\fP
  80. object files for "way" ⟨way⟩; common ways are:
  81. .INDENT 7.0
  82. .TP
  83. .B \fBdyn\fP
  84. dynamically\-linked
  85. .TP
  86. .B \fBp\fP
  87. built with profiling
  88. .UNINDENT
  89. .TP
  90. .B \fB\&.⟨way⟩_hi\fP
  91. interface files for "way" ⟨way⟩; common ways are:
  92. .UNINDENT
  93. .SH OPTIONS
  94. .TP
  95. .B Code generation
  96. \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
  97. .TP
  98. .B Debugging the compiler
  99. \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
  100. .TP
  101. .B C pre\-processor
  102. \fB\-cpp\fP \fB\-D⟨symbol⟩[=⟨value⟩]\fP \fB\-U⟨symbol⟩\fP \fB\-I⟨dir⟩\fP \fB\-U⟨symbol⟩\fP
  103. .TP
  104. .B Finding imports
  105. \fB\-i\fP \fB\-i⟨dir⟩[:⟨dir⟩]*\fP
  106. .TP
  107. .B Interactive mode
  108. \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
  109. .TP
  110. .B Interface files
  111. \fB\-\-show\-iface ⟨file⟩\fP \fB\-ddump\-hi\fP \fB\-ddump\-hi\-diffs\fP \fB\-ddump\-minimal\-imports\fP
  112. .TP
  113. .B Keeping intermediate files
  114. \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
  115. .TP
  116. .B Language options
  117. \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
  118. .TP
  119. .B Linking options
  120. \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
  121. .TP
  122. .B Miscellaneous options
  123. \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
  124. .TP
  125. .B Modes of operation
  126. \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
  127. .TP
  128. .B Individual optimizations
  129. \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
  130. .TP
  131. .B Optimization levels
  132. \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
  133. .TP
  134. .B Package options
  135. \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
  136. .TP
  137. .B Phases of compilation
  138. \fB\-C\fP \fB\-c\fP \fB\-E\fP \fB\-F\fP \fB\-S\fP \fB\-x ⟨suffix⟩\fP
  139. .TP
  140. .B Overriding external programs
  141. \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
  142. .TP
  143. .B Phase\-specific options
  144. \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
  145. .TP
  146. .B Platform\-specific options
  147. \fB\-mbmi2\fP \fB\-msse2\fP \fB\-msse4.2\fP
  148. .TP
  149. .B Compiler plugins
  150. \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
  151. .TP
  152. .B Profiling
  153. \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
  154. .TP
  155. .B Program coverage
  156. \fB\-fhpc\fP
  157. .TP
  158. .B Recompilation checking
  159. \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
  160. .TP
  161. .B Redirecting output
  162. \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
  163. .TP
  164. .B Temporary files
  165. \fB\-tmpdir ⟨dir⟩\fP
  166. .TP
  167. .B Verbosity options
  168. \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
  169. .TP
  170. .B Warnings
  171. \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
  172. .SS Code generation
  173. .INDENT 0.0
  174. .TP
  175. .B \fB\-dynamic\-too\fP
  176. Build dynamic object files \fIas well as\fP static object files
  177. during compilation
  178. .TP
  179. .B \fB\-fasm\fP
  180. Use the native code generator
  181. .TP
  182. .B \fB\-fbyte\-code\fP
  183. Generate byte\-code
  184. .TP
  185. .B \fB\-fexternal\-dynamic\-refs\fP
  186. Generate code for linking against dynamic libraries
  187. .TP
  188. .B \fB\-fllvm\fP
  189. Compile using the LLVM code generator
  190. .TP
  191. .B \fB\-fno\-code\fP
  192. Omit code generation
  193. .TP
  194. .B \fB\-fobject\-code\fP
  195. Generate object code
  196. .TP
  197. .B \fB\-fPIC\fP
  198. Generate position\-independent code (where available)
  199. .TP
  200. .B \fB\-fPIE\fP
  201. Generate code for a position\-independent executable (where available)
  202. .TP
  203. .B \fB\-fwrite\-interface\fP
  204. Always write interface files
  205. .UNINDENT
  206. .SS Debugging the compiler
  207. .INDENT 0.0
  208. .TP
  209. .B \fB\-dcmm\-lint\fP
  210. C\-\e\- pass sanity checking
  211. .TP
  212. .B \fB\-dcore\-lint\fP
  213. Turn on internal sanity checking
  214. .TP
  215. .B \fB\-ddump\-asm\fP
  216. Dump final assembly
  217. .TP
  218. .B \fB\-ddump\-asm\-expanded\fP
  219. Dump the result of the synthetic instruction expansion pass.
  220. .TP
  221. .B \fB\-ddump\-asm\-liveness\fP
  222. Dump assembly augmented with register liveness
  223. .TP
  224. .B \fB\-ddump\-asm\-native\fP
  225. Dump initial assembly
  226. .TP
  227. .B \fB\-ddump\-asm\-regalloc\fP
  228. Dump the result of register allocation
  229. .TP
  230. .B \fB\-ddump\-asm\-regalloc\-stages\fP
  231. Dump the build/spill stages of the \fB\-fregs\-graph\fP
  232. register allocator.
  233. .TP
  234. .B \fB\-ddump\-asm\-stats\fP
  235. Dump statistics from the register allocator.
  236. .TP
  237. .B \fB\-ddump\-bcos\fP
  238. Dump interpreter byte code
  239. .TP
  240. .B \fB\-ddump\-cfg\-weights\fP
  241. Dump the assumed weights of the CFG.
  242. .TP
  243. .B \fB\-ddump\-cmm\fP
  244. Dump the final C\-\e\- output
  245. .TP
  246. .B \fB\-ddump\-cmm\-caf\fP
  247. Dump the results of the C\-\e\- CAF analysis pass.
  248. .TP
  249. .B \fB\-ddump\-cmm\-cbe\fP
  250. Dump the results of common block elimination
  251. .TP
  252. .B \fB\-ddump\-cmm\-cfg\fP
  253. Dump the results of the C\-\e\- control flow optimisation pass.
  254. .TP
  255. .B \fB\-ddump\-cmm\-cps\fP
  256. Dump the results of the CPS pass
  257. .TP
  258. .B \fB\-ddump\-cmm\-from\-stg\fP
  259. Dump STG\-to\-C\-\e\- output
  260. .TP
  261. .B \fB\-ddump\-cmm\-info\fP
  262. Dump the results of the C\-\e\- info table augmentation pass.
  263. .TP
  264. .B \fB\-ddump\-cmm\-proc\fP
  265. Dump the results of proc\-point analysis
  266. .TP
  267. .B \fB\-ddump\-cmm\-procmap\fP
  268. Dump the results of the C\-\e\- proc\-point map pass.
  269. .TP
  270. .B \fB\-ddump\-cmm\-raw\fP
  271. Dump raw C\-\e\-
  272. .TP
  273. .B \fB\-ddump\-cmm\-sink\fP
  274. Dump the results of the C\-\e\- sinking pass.
  275. .TP
  276. .B \fB\-ddump\-cmm\-sp\fP
  277. Dump the results of the C\-\e\- stack layout pass.
  278. .TP
  279. .B \fB\-ddump\-cmm\-split\fP
  280. Dump the results of the C\-\e\- proc\-point splitting pass.
  281. .TP
  282. .B \fB\-ddump\-cmm\-switch\fP
  283. Dump the results of switch lowering passes
  284. .TP
  285. .B \fB\-ddump\-cmm\-verbose\fP
  286. Write output from main C\-\e\- pipeline passes to files
  287. .TP
  288. .B \fB\-ddump\-cmm\-verbose\-by\-proc\fP
  289. Show output from main C\-\e\- pipeline passes (grouped by proc)
  290. .TP
  291. .B \fB\-ddump\-core\-stats\fP
  292. Print a one\-line summary of the size of the Core program at the
  293. end of the optimisation pipeline
  294. .TP
  295. .B \fB\-ddump\-cse\fP
  296. Dump CSE output
  297. .TP
  298. .B \fB\-ddump\-deriv\fP
  299. Dump deriving output
  300. .TP
  301. .B \fB\-ddump\-ds\fP
  302. Dump desugarer output.
  303. .TP
  304. .B \fB\-ddump\-ec\-trace\fP
  305. Trace exhaustiveness checker
  306. .TP
  307. .B \fB\-ddump\-file\-prefix=⟨str⟩\fP
  308. Set the prefix of the filenames used for debugging output.
  309. .TP
  310. .B \fB\-ddump\-foreign\fP
  311. Dump \fBforeign export\fP stubs
  312. .TP
  313. .B \fB\-ddump\-hpc\fP
  314. An alias for \fB\-ddump\-ticked\fP\&.
  315. .TP
  316. .B \fB\-ddump\-if\-trace\fP
  317. Trace interface files
  318. .TP
  319. .B \fB\-ddump\-inlinings\fP
  320. Dump inlining info
  321. .TP
  322. .B \fB\-ddump\-json\fP
  323. Dump error messages as JSON documents
  324. .TP
  325. .B \fB\-ddump\-llvm\fP
  326. Dump LLVM intermediate code.
  327. .TP
  328. .B \fB\-ddump\-mod\-map\fP
  329. Dump the state of the module mapping database.
  330. .TP
  331. .B \fB\-ddump\-occur\-anal\fP
  332. Dump occurrence analysis output
  333. .TP
  334. .B \fB\-ddump\-opt\-cmm\fP
  335. Dump the results of C\-\e\- to C\-\e\- optimising passes
  336. .TP
  337. .B \fB\-ddump\-parsed\fP
  338. Dump parse tree
  339. .TP
  340. .B \fB\-ddump\-parsed\-ast\fP
  341. Dump parser output as a syntax tree
  342. .TP
  343. .B \fB\-ddump\-prep\fP
  344. Dump prepared core
  345. .TP
  346. .B \fB\-ddump\-rn\fP
  347. Dump renamer output
  348. .TP
  349. .B \fB\-ddump\-rn\-ast\fP
  350. Dump renamer output as a syntax tree
  351. .TP
  352. .B \fB\-ddump\-rn\-stats\fP
  353. Renamer stats
  354. .TP
  355. .B \fB\-ddump\-rn\-trace\fP
  356. Trace renamer
  357. .TP
  358. .B \fB\-ddump\-rtti\fP
  359. Trace runtime type inference
  360. .TP
  361. .B \fB\-ddump\-rule\-firings\fP
  362. Dump rule firing info
  363. .TP
  364. .B \fB\-ddump\-rule\-rewrites\fP
  365. Dump detailed rule firing info
  366. .TP
  367. .B \fB\-ddump\-rules\fP
  368. Dump rewrite rules
  369. .TP
  370. .B \fB\-ddump\-simpl\fP
  371. Dump final simplifier output
  372. .TP
  373. .B \fB\-ddump\-simpl\-iterations\fP
  374. Dump output from each simplifier iteration
  375. .TP
  376. .B \fB\-ddump\-simpl\-stats\fP
  377. Dump simplifier stats
  378. .TP
  379. .B \fB\-ddump\-spec\fP
  380. Dump specialiser output
  381. .TP
  382. .B \fB\-ddump\-splices\fP
  383. Dump TH spliced expressions, and what they evaluate to
  384. .TP
  385. .B \fB\-ddump\-stg\fP
  386. Show CoreToStg output
  387. .TP
  388. .B \fB\-ddump\-stg\-final\fP
  389. Show output of last STG pass.
  390. .TP
  391. .B \fB\-ddump\-stg\-unarised\fP
  392. Show unarised STG
  393. .TP
  394. .B \fB\-ddump\-str\-signatures\fP
  395. Dump strictness signatures
  396. .TP
  397. .B \fB\-ddump\-stranal\fP
  398. Dump strictness analyser output
  399. .TP
  400. .B \fB\-ddump\-tc\fP
  401. Dump typechecker output
  402. .TP
  403. .B \fB\-ddump\-tc\-ast\fP
  404. Dump typechecker output as a syntax tree
  405. .TP
  406. .B \fB\-ddump\-tc\-trace\fP
  407. Trace typechecker
  408. .TP
  409. .B \fB\-ddump\-ticked\fP
  410. Dump the code instrumented by HPC (hpc).
  411. .TP
  412. .B \fB\-ddump\-timings\fP
  413. Dump per\-pass timing and allocation statistics
  414. .TP
  415. .B \fB\-ddump\-to\-file\fP
  416. Dump to files instead of stdout
  417. .TP
  418. .B \fB\-ddump\-types\fP
  419. Dump type signatures
  420. .TP
  421. .B \fB\-ddump\-worker\-wrapper\fP
  422. Dump worker\-wrapper output
  423. .TP
  424. .B \fB\-dfaststring\-stats\fP
  425. Show statistics for fast string usage when finished
  426. .TP
  427. .B \fB\-dhex\-word\-literals\fP
  428. Print values of type \fIWord#\fP in hexadecimal.
  429. .TP
  430. .B \fB\-dinitial\-unique=⟨s⟩\fP
  431. Start \fBUniqSupply\fP allocation from ⟨s⟩.
  432. .TP
  433. .B \fB\-dinline\-check=⟨str⟩\fP
  434. Dump information about inlining decisions
  435. .TP
  436. .B \fB\-dno\-debug\-output\fP
  437. Suppress unsolicited debugging output
  438. .TP
  439. .B \fB\-dno\-typeable\-binds\fP
  440. Don\(aqt generate bindings for Typeable methods
  441. .TP
  442. .B \fB\-dppr\-case\-as\-let\fP
  443. Print single alternative case expressions as strict lets.
  444. .TP
  445. .B \fB\-dppr\-cols=⟨n⟩\fP
  446. Set the width of debugging output. For example \fB\-dppr\-cols200\fP
  447. .TP
  448. .B \fB\-dppr\-debug\fP
  449. Turn on debug printing (more verbose)
  450. .TP
  451. .B \fB\-dppr\-user\-length\fP
  452. Set the depth for printing expressions in error msgs
  453. .TP
  454. .B \fB\-drule\-check=⟨str⟩\fP
  455. Dump information about potential rule application
  456. .TP
  457. .B \fB\-dshow\-passes\fP
  458. Print out each pass name as it happens
  459. .TP
  460. .B \fB\-dstg\-lint\fP
  461. STG pass sanity checking
  462. .TP
  463. .B \fB\-dsuppress\-all\fP
  464. In dumps, suppress everything (except for uniques) that is
  465. suppressible.
  466. .TP
  467. .B \fB\-dsuppress\-coercions\fP
  468. Suppress the printing of coercions in Core dumps to make them
  469. shorter
  470. .TP
  471. .B \fB\-dsuppress\-idinfo\fP
  472. Suppress extended information about identifiers where they
  473. are bound
  474. .TP
  475. .B \fB\-dsuppress\-module\-prefixes\fP
  476. Suppress the printing of module qualification prefixes
  477. .TP
  478. .B \fB\-dsuppress\-stg\-free\-vars\fP
  479. Suppress the printing of closure free variable lists in STG output
  480. .TP
  481. .B \fB\-dsuppress\-ticks\fP
  482. Suppress "ticks" in the pretty\-printer output.
  483. .TP
  484. .B \fB\-dsuppress\-timestamps\fP
  485. Suppress timestamps in dumps
  486. .TP
  487. .B \fB\-dsuppress\-type\-applications\fP
  488. Suppress type applications
  489. .TP
  490. .B \fB\-dsuppress\-type\-signatures\fP
  491. Suppress type signatures
  492. .TP
  493. .B \fB\-dsuppress\-unfoldings\fP
  494. Suppress the printing of the stable unfolding of a variable at
  495. its binding site
  496. .TP
  497. .B \fB\-dsuppress\-uniques\fP
  498. Suppress the printing of uniques in debug output (easier to use
  499. \fBdiff\fP)
  500. .TP
  501. .B \fB\-dsuppress\-var\-kinds\fP
  502. Suppress the printing of variable kinds
  503. .TP
  504. .B \fB\-dth\-dec\-file\fP
  505. Dump evaluated TH declarations into \fI*.th.hs\fP files
  506. .TP
  507. .B \fB\-dunique\-increment=⟨i⟩\fP
  508. Set the increment for the generated \fBUnique\fP\(aqs to ⟨i⟩.
  509. .TP
  510. .B \fB\-dverbose\-core2core\fP
  511. Show output from each core\-to\-core pass
  512. .TP
  513. .B \fB\-dverbose\-stg2stg\fP
  514. Show output from each STG\-to\-STG pass
  515. .TP
  516. .B \fB\-falignment\-sanitisation\fP
  517. Compile with alignment checks for all info table dereferences.
  518. .TP
  519. .B \fB\-fcatch\-bottoms\fP
  520. Insert \fBerror\fP expressions after bottoming expressions; useful
  521. when debugging the compiler.
  522. .TP
  523. .B \fB\-fllvm\-fill\-undef\-with\-garbage\fP
  524. Intruct LLVM to fill dead STG registers with garbage
  525. .TP
  526. .B \fB\-fproc\-alignment\fP
  527. Align functions at given boundary.
  528. .TP
  529. .B \fB\-g\fP
  530. Produce DWARF debug information in compiled object files.
  531. ⟨n⟩ can be 0, 1, or 2, with higher numbers producing richer
  532. output. If ⟨n⟩ is omitted, level 2 is assumed.
  533. .UNINDENT
  534. .SS C pre\-processor
  535. .INDENT 0.0
  536. .TP
  537. .B \fB\-cpp\fP
  538. Run the C pre\-processor on Haskell source files
  539. .TP
  540. .B \fB\-D⟨symbol⟩[=⟨value⟩]\fP
  541. Define a symbol in the C pre\-processor
  542. .TP
  543. .B \fB\-I⟨dir⟩\fP
  544. Add ⟨dir⟩ to the directory search list for \fB#include\fP files
  545. .TP
  546. .B \fB\-U⟨symbol⟩\fP
  547. Undefine a symbol in the C pre\-processor
  548. .UNINDENT
  549. .SS Finding imports
  550. .INDENT 0.0
  551. .TP
  552. .B \fB\-i\fP
  553. Empty the import directory list
  554. .TP
  555. .B \fB\-i⟨dir⟩[:⟨dir⟩]*\fP
  556. add ⟨dir⟩, ⟨dir2⟩, etc. to import path
  557. .UNINDENT
  558. .SS Interactive mode
  559. .INDENT 0.0
  560. .TP
  561. .B \fB\-fbreak\-on\-error\fP
  562. Break on uncaught exceptions and errors
  563. .TP
  564. .B \fB\-fbreak\-on\-exception\fP
  565. Break on any exception thrown
  566. .TP
  567. .B \fB\-fghci\-hist\-size=⟨n⟩\fP
  568. Set the number of entries GHCi keeps for \fB:history\fP\&.
  569. See ghci\-debugger\&.
  570. .TP
  571. .B \fB\-fghci\-leak\-check\fP
  572. (Debugging only) check for space leaks when loading
  573. new modules in GHCi.
  574. .TP
  575. .B \fB\-flocal\-ghci\-history\fP
  576. Use current directory for the GHCi command history
  577. file \fB\&.ghci\-history\fP\&.
  578. .TP
  579. .B \fB\-fno\-it\fP
  580. No longer set the special variable \fBit\fP\&.
  581. .TP
  582. .B \fB\-fprint\-bind\-result\fP
  583. Turn on printing of binding results in GHCi
  584. .TP
  585. .B \fB\-fprint\-evld\-with\-show\fP
  586. Instruct \fB:print\fP to use \fBShow\fP instances where possible.
  587. .TP
  588. .B \fB\-fshow\-loaded\-modules\fP
  589. Show the names of modules that GHCi loaded after a
  590. \fB:load\fP command.
  591. .TP
  592. .B \fB\-ghci\-script\fP
  593. Read additional \fB\&.ghci\fP files
  594. .TP
  595. .B \fB\-ignore\-dot\-ghci\fP
  596. Disable reading of \fB\&.ghci\fP files
  597. .TP
  598. .B \fB\-interactive\-print ⟨name⟩\fP
  599. Select the function to use for printing evaluated
  600. expressions in GHCi
  601. .UNINDENT
  602. .SS Interface files
  603. .INDENT 0.0
  604. .TP
  605. .B \fB\-\-show\-iface ⟨file⟩\fP
  606. See modes\&.
  607. .TP
  608. .B \fB\-ddump\-hi\fP
  609. Dump the new interface to stdout
  610. .TP
  611. .B \fB\-ddump\-hi\-diffs\fP
  612. Show the differences vs. the old interface
  613. .TP
  614. .B \fB\-ddump\-minimal\-imports\fP
  615. Dump a minimal set of imports
  616. .UNINDENT
  617. .SS Keeping intermediate files
  618. .INDENT 0.0
  619. .TP
  620. .B \fB\-keep\-hc\-file\fP
  621. Retain intermediate \fB\&.hc\fP files.
  622. .TP
  623. .B \fB\-keep\-hi\-files\fP
  624. Retain intermediate \fB\&.hi\fP files (the default).
  625. .TP
  626. .B \fB\-keep\-hscpp\-file\fP
  627. Retain intermediate \fB\&.hscpp\fP files.
  628. .TP
  629. .B \fB\-keep\-llvm\-file\fP
  630. Retain intermediate LLVM \fB\&.ll\fP files.
  631. Implies \fB\-fllvm\fP\&.
  632. .TP
  633. .B \fB\-keep\-o\-files\fP
  634. Retain intermediate \fB\&.o\fP files (the default).
  635. .TP
  636. .B \fB\-keep\-s\-file\fP
  637. Retain intermediate \fB\&.s\fP files.
  638. .TP
  639. .B \fB\-keep\-tmp\-files\fP
  640. Retain all intermediate temporary files.
  641. .UNINDENT
  642. .SS Language options
  643. .INDENT 0.0
  644. .TP
  645. .B \fB\-fno\-safe\-haskell\fP
  646. Disable Safe Haskell
  647. .TP
  648. .B \fB\-fsort\-by\-size\-hole\-fits\fP
  649. Sort valid hole fits by size.
  650. .TP
  651. .B \fB\-fsort\-by\-subsumption\-hole\-fits\fP
  652. Sort valid hole fits by subsumption.
  653. .TP
  654. .B \fB\-Winferred\-safe\-imports\fP
  655. warn when an explicitly Safe Haskell module imports a Safe\-Inferred one
  656. .TP
  657. .B \fB\-Wmissing\-safe\-haskell\-mode\fP
  658. warn when the Safe Haskell mode is not explicitly specified.
  659. .TP
  660. .B \fB\-XAllowAmbiguousTypes\fP
  661. Allow the user to write ambiguous types, and
  662. the type inference engine to infer them.
  663. .TP
  664. .B \fB\-XApplicativeDo\fP
  665. Enable Applicative do\-notation desugaring
  666. .TP
  667. .B \fB\-XArrows\fP
  668. Enable arrow notation extension
  669. .TP
  670. .B \fB\-XBangPatterns\fP
  671. Enable bang patterns.
  672. .TP
  673. .B \fB\-XBinaryLiterals\fP
  674. Enable support for binary literals.
  675. .TP
  676. .B \fB\-XBlockArguments\fP
  677. Allow \fBdo\fP blocks and other constructs as function arguments.
  678. .TP
  679. .B \fB\-XCApiFFI\fP
  680. Enable the CAPI calling convention.
  681. .TP
  682. .B \fB\-XConstrainedClassMethods\fP
  683. Enable constrained class methods.
  684. .TP
  685. .B \fB\-XConstraintKinds\fP
  686. Enable a kind of constraints.
  687. .TP
  688. .B \fB\-XCPP\fP
  689. Enable the C preprocessor.
  690. .TP
  691. .B \fB\-XCUSKs\fP
  692. Enable detection of complete user\-supplied kind signatures.
  693. .TP
  694. .B \fB\-XDataKinds\fP
  695. Enable datatype promotion.
  696. .TP
  697. .B \fB\-XDatatypeContexts\fP
  698. Allow contexts on \fBdata\fP types.
  699. .TP
  700. .B \fB\-XDefaultSignatures\fP
  701. Enable default signatures.
  702. .TP
  703. .B \fB\-XDeriveAnyClass\fP
  704. Enable deriving for any class.
  705. .TP
  706. .B \fB\-XDeriveDataTypeable\fP
  707. Enable deriving for the \fBData\fP class.
  708. Implied by (deprecated) \fBAutoDeriveTypeable\fP\&.
  709. .TP
  710. .B \fB\-XDeriveFoldable\fP
  711. Enable deriving for the Foldable class.
  712. Implied by \fBDeriveTraversable\fP\&.
  713. .TP
  714. .B \fB\-XDeriveFunctor\fP
  715. Enable deriving for the Functor class.
  716. Implied by \fBDeriveTraversable\fP\&.
  717. .TP
  718. .B \fB\-XDeriveGeneric\fP
  719. Enable deriving for the Generic class.
  720. .TP
  721. .B \fB\-XDeriveLift\fP
  722. Enable deriving for the Lift class
  723. .TP
  724. .B \fB\-XDeriveTraversable\fP
  725. Enable deriving for the Traversable class.
  726. Implies \fBDeriveFunctor\fP and \fBDeriveFoldable\fP\&.
  727. .TP
  728. .B \fB\-XDerivingStrategies\fP
  729. Enables deriving strategies.
  730. .TP
  731. .B \fB\-XDerivingVia\fP
  732. Enable deriving instances \fBvia\fP types of the same runtime
  733. representation.
  734. Implies \fBDerivingStrategies\fP\&.
  735. .TP
  736. .B \fB\-XDisambiguateRecordFields\fP
  737. Enable record field disambiguation.
  738. Implied by \fBRecordWildCards\fP\&.
  739. .TP
  740. .B \fB\-XDuplicateRecordFields\fP
  741. Allow definition of record types with identically\-named fields.
  742. .TP
  743. .B \fB\-XEmptyCase\fP
  744. Allow empty case alternatives.
  745. .TP
  746. .B \fB\-XEmptyDataDecls\fP
  747. Allow definition of empty \fBdata\fP types.
  748. .TP
  749. .B \fB\-XEmptyDataDeriving\fP
  750. Allow deriving instances of standard type classes for
  751. empty data types.
  752. .TP
  753. .B \fB\-XExistentialQuantification\fP
  754. Enable liberalised type synonyms.
  755. .TP
  756. .B \fB\-XExplicitForAll\fP
  757. Enable explicit universal quantification.
  758. Implied by \fBScopedTypeVariables\fP, \fBLiberalTypeSynonyms\fP,
  759. \fBRankNTypes\fP and \fBExistentialQuantification\fP\&.
  760. .TP
  761. .B \fB\-XExplicitNamespaces\fP
  762. Enable using the keyword \fBtype\fP to specify the namespace of
  763. entries in imports and exports (explicit\-namespaces).
  764. Implied by \fBTypeOperators\fP and \fBTypeFamilies\fP\&.
  765. .TP
  766. .B \fB\-XExtendedDefaultRules\fP
  767. Use GHCi\(aqs extended default rules in a normal module.
  768. .TP
  769. .B \fB\-XFlexibleContexts\fP
  770. Enable flexible contexts.
  771. .TP
  772. .B \fB\-XFlexibleInstances\fP
  773. Enable flexible instances.
  774. Implies \fBTypeSynonymInstances\fP\&.
  775. .TP
  776. .B \fB\-XForeignFunctionInterface\fP
  777. Enable foreign function interface.
  778. .TP
  779. .B \fB\-XFunctionalDependencies\fP
  780. Enable functional dependencies.
  781. Implies \fBMultiParamTypeClasses\fP\&.
  782. .TP
  783. .B \fB\-XGADTs\fP
  784. Enable generalised algebraic data types.
  785. Implies \fBGADTSyntax\fP and \fBMonoLocalBinds\fP\&.
  786. .TP
  787. .B \fB\-XGADTSyntax\fP
  788. Enable generalised algebraic data type syntax.
  789. .TP
  790. .B \fB\-XGeneralisedNewtypeDeriving\fP
  791. Enable newtype deriving.
  792. .TP
  793. .B \fB\-XGeneralizedNewtypeDeriving\fP
  794. Enable newtype deriving.
  795. .TP
  796. .B \fB\-XHaskell2010\fP
  797. Use the Haskell 2010 language variant.
  798. .TP
  799. .B \fB\-XHaskell98\fP
  800. Use the Haskell 2010 language variant.
  801. .TP
  802. .B \fB\-XHexFloatLiterals\fP
  803. Enable support for hexadecimal floating point literals\&.
  804. .TP
  805. .B \fB\-XImplicitParams\fP
  806. Enable Implicit Parameters.
  807. .TP
  808. .B \fB\-XImportQualifiedPost\fP
  809. \fBImportQualifiedPost\fP allows the syntax \fBimport M qualified\fP
  810. .TP
  811. .B \fB\-XImpredicativeTypes\fP
  812. Enable impredicative types.
  813. Implies \fBRankNTypes\fP\&.
  814. .TP
  815. .B \fB\-XIncoherentInstances\fP
  816. Enable incoherent instances.
  817. Implies \fBOverlappingInstances\fP\&.
  818. .TP
  819. .B \fB\-XInstanceSigs\fP
  820. Enable instance signatures.
  821. .TP
  822. .B \fB\-XInterruptibleFFI\fP
  823. Enable interruptible FFI.
  824. .TP
  825. .B \fB\-XKindSignatures\fP
  826. Enable kind signatures.
  827. Implied by \fBTypeFamilies\fP and \fBPolyKinds\fP\&.
  828. .TP
  829. .B \fB\-XLambdaCase\fP
  830. Enable lambda\-case expressions.
  831. .TP
  832. .B \fB\-XLiberalTypeSynonyms\fP
  833. Enable liberalised type synonyms.
  834. .TP
  835. .B \fB\-XMagicHash\fP
  836. Allow \fB#\fP as a postfix modifier on identifiers.
  837. .TP
  838. .B \fB\-XMonadComprehensions\fP
  839. Enable monad comprehensions.
  840. .TP
  841. .B \fB\-XMonadFailDesugaring\fP
  842. Enable monadfail desugaring.
  843. .TP
  844. .B \fB\-XMonoLocalBinds\fP
  845. Enable do not generalise local bindings.
  846. Implied by \fBTypeFamilies\fP and \fBGADTs\fP\&.
  847. .TP
  848. .B \fB\-XMultiParamTypeClasses\fP
  849. Enable multi parameter type classes.
  850. Implied by \fBFunctionalDependencies\fP\&.
  851. .TP
  852. .B \fB\-XMultiWayIf\fP
  853. Enable multi\-way if\-expressions.
  854. .TP
  855. .B \fB\-XNamedFieldPuns\fP
  856. Enable record puns.
  857. .TP
  858. .B \fB\-XNamedWildCards\fP
  859. Enable named wildcards.
  860. .TP
  861. .B \fB\-XNegativeLiterals\fP
  862. Enable support for negative literals.
  863. .TP
  864. .B \fB\-XNoImplicitPrelude\fP
  865. Don\(aqt implicitly \fBimport Prelude\fP\&.
  866. Implied by \fBRebindableSyntax\fP\&.
  867. .TP
  868. .B \fB\-XNoMonomorphismRestriction\fP
  869. Disable the monomorphism restriction.
  870. .TP
  871. .B \fB\-XNondecreasingIndentation\fP
  872. Allow nested contexts to be at the same indentation level as
  873. its enclosing context.
  874. .TP
  875. .B \fB\-XNoPatternGuards\fP
  876. Disable pattern guards.
  877. Implied by \fBHaskell98\fP\&.
  878. .TP
  879. .B \fB\-XNoTraditionalRecordSyntax\fP
  880. Disable support for traditional record syntax
  881. (as supported by Haskell 98) \fBC {f = x}\fP
  882. .TP
  883. .B \fB\-XNPlusKPatterns\fP
  884. Enable support for \fBn+k\fP patterns.
  885. Implied by \fBHaskell98\fP\&.
  886. .TP
  887. .B \fB\-XNullaryTypeClasses\fP
  888. Deprecated, does nothing. nullary (no parameter) type
  889. classes are now enabled using \fBMultiParamTypeClasses\fP\&.
  890. .TP
  891. .B \fB\-XNumDecimals\fP
  892. Enable support for \(aqfractional\(aq integer literals.
  893. .TP
  894. .B \fB\-XNumericUnderscores\fP
  895. Enable support for numeric underscores\&.
  896. .TP
  897. .B \fB\-XOverlappingInstances\fP
  898. Enable overlapping instances.
  899. .TP
  900. .B \fB\-XOverloadedLabels\fP
  901. Enable overloaded labels.
  902. .TP
  903. .B \fB\-XOverloadedLists\fP
  904. Enable overloaded lists.
  905. .TP
  906. .B \fB\-XOverloadedStrings\fP
  907. Enable overloaded string literals.
  908. .TP
  909. .B \fB\-XPackageImports\fP
  910. Enable package\-qualified imports.
  911. .TP
  912. .B \fB\-XParallelListComp\fP
  913. Enable parallel list comprehensions.
  914. .TP
  915. .B \fB\-XPartialTypeSignatures\fP
  916. Enable partial type signatures.
  917. .TP
  918. .B \fB\-XPatternSynonyms\fP
  919. Enable pattern synonyms.
  920. .TP
  921. .B \fB\-XPolyKinds\fP
  922. Enable kind polymorphism.
  923. Implies \fBKindSignatures\fP\&.
  924. .TP
  925. .B \fB\-XPostfixOperators\fP
  926. Enable postfix operators.
  927. .TP
  928. .B \fB\-XQuantifiedConstraints\fP
  929. Allow \fBforall\fP quantifiers in constraints.
  930. .TP
  931. .B \fB\-XQuasiQuotes\fP
  932. Enable quasiquotation.
  933. .TP
  934. .B \fB\-XRank2Types\fP
  935. Enable rank\-2 types.
  936. Synonym for \fBRankNTypes\fP\&.
  937. .TP
  938. .B \fB\-XRankNTypes\fP
  939. Enable rank\-N types.
  940. Implied by \fBImpredicativeTypes\fP\&.
  941. .TP
  942. .B \fB\-XRebindableSyntax\fP
  943. Employ rebindable syntax.
  944. Implies \fBNoImplicitPrelude\fP\&.
  945. .TP
  946. .B \fB\-XRecordWildCards\fP
  947. Enable record wildcards.
  948. Implies \fBDisambiguateRecordFields\fP\&.
  949. .TP
  950. .B \fB\-XRecursiveDo\fP
  951. Enable recursive do (mdo) notation.
  952. .TP
  953. .B \fB\-XRoleAnnotations\fP
  954. Enable role annotations.
  955. .TP
  956. .B \fB\-XSafe\fP
  957. Enable the Safe Haskell Safe mode.
  958. .TP
  959. .B \fB\-XScopedTypeVariables\fP
  960. Enable lexically\-scoped type variables.
  961. .TP
  962. .B \fB\-XStandaloneDeriving\fP
  963. Enable standalone deriving.
  964. .TP
  965. .B \fB\-XStandaloneKindSignatures\fP
  966. Allow the use of standalone kind signatures.
  967. .TP
  968. .B \fB\-XStarIsType\fP
  969. Treat \fB*\fP as \fBData.Kind.Type\fP\&.
  970. .TP
  971. .B \fB\-XStaticPointers\fP
  972. Enable static pointers.
  973. .TP
  974. .B \fB\-XStrict\fP
  975. Make bindings in the current module strict by default.
  976. .TP
  977. .B \fB\-XStrictData\fP
  978. Enable default strict datatype fields.
  979. .TP
  980. .B \fB\-XTemplateHaskell\fP
  981. Enable Template Haskell.
  982. .TP
  983. .B \fB\-XTemplateHaskellQuotes\fP
  984. Enable quotation subset of
  985. Template Haskell\&.
  986. .TP
  987. .B \fB\-XTransformListComp\fP
  988. Enable generalised list comprehensions.
  989. .TP
  990. .B \fB\-XTrustworthy\fP
  991. Enable the Safe Haskell Trustworthy mode.
  992. .TP
  993. .B \fB\-XTupleSections\fP
  994. Enable tuple sections.
  995. .TP
  996. .B \fB\-XTypeApplications\fP
  997. Enable type application syntax in terms and types.
  998. .TP
  999. .B \fB\-XTypeFamilies\fP
  1000. Enable type families.
  1001. Implies \fBExplicitNamespaces\fP, \fBKindSignatures\fP,
  1002. and \fBMonoLocalBinds\fP\&.
  1003. .TP
  1004. .B \fB\-XTypeFamilyDependencies\fP
  1005. Enable injective type families.
  1006. Implies \fBTypeFamilies\fP\&.
  1007. .TP
  1008. .B \fB\-XTypeInType\fP
  1009. Deprecated. Enable kind polymorphism and datatype promotion.
  1010. .TP
  1011. .B \fB\-XTypeOperators\fP
  1012. Enable type operators.
  1013. Implies \fBExplicitNamespaces\fP\&.
  1014. .TP
  1015. .B \fB\-XTypeSynonymInstances\fP
  1016. Enable type synonyms in instance heads.
  1017. Implied by \fBFlexibleInstances\fP\&.
  1018. .TP
  1019. .B \fB\-XUnboxedSums\fP
  1020. Enable unboxed sums.
  1021. .TP
  1022. .B \fB\-XUnboxedTuples\fP
  1023. Enable the use of unboxed tuple syntax.
  1024. .TP
  1025. .B \fB\-XUndecidableInstances\fP
  1026. Enable undecidable instances.
  1027. .TP
  1028. .B \fB\-XUndecidableSuperClasses\fP
  1029. Allow all superclass constraints, including those that may
  1030. result in non\-termination of the typechecker.
  1031. .TP
  1032. .B \fB\-XUnicodeSyntax\fP
  1033. Enable unicode syntax.
  1034. .TP
  1035. .B \fB\-XUnliftedFFITypes\fP
  1036. Enable unlifted FFI types
  1037. .TP
  1038. .B \fB\-XUnliftedNewtypes\fP
  1039. Enable unlifted newtypes.
  1040. .TP
  1041. .B \fB\-XUnsafe\fP
  1042. Enable Safe Haskell Unsafe mode.
  1043. .TP
  1044. .B \fB\-XViewPatterns\fP
  1045. Enable view patterns.
  1046. .UNINDENT
  1047. .SS Linking options
  1048. .INDENT 0.0
  1049. .TP
  1050. .B \fB\-c\fP
  1051. Stop after generating object (\fB\&.o\fP) file
  1052. .TP
  1053. .B \fB\-debug\fP
  1054. Use the debugging runtime
  1055. .TP
  1056. .B \fB\-dylib\-install\-name ⟨path⟩\fP
  1057. Set the install name (via \fB\-install_name\fP passed to Apple\(aqs
  1058. linker), specifying the full install path of the library file.
  1059. Any libraries or executables that link with it later will pick
  1060. up that path as their runtime search location for it.
  1061. (Darwin/OS X only)
  1062. .TP
  1063. .B \fB\-dynamic\fP
  1064. Build dynamically\-linked object files and executables
  1065. .TP
  1066. .B \fB\-dynload\fP
  1067. Selects one of a number of modes for finding shared libraries at runtime.
  1068. .TP
  1069. .B \fB\-eventlog\fP
  1070. Enable runtime event tracing
  1071. .TP
  1072. .B \fB\-fno\-embed\-manifest\fP
  1073. Do not embed the manifest in the executable (Windows only)
  1074. .TP
  1075. .B \fB\-fno\-gen\-manifest\fP
  1076. Do not generate a manifest file (Windows only)
  1077. .TP
  1078. .B \fB\-fno\-shared\-implib\fP
  1079. Don\(aqt generate an import library for a DLL (Windows only)
  1080. .TP
  1081. .B \fB\-framework ⟨name⟩\fP
  1082. On Darwin/OS X/iOS only, link in the framework ⟨name⟩. This
  1083. option corresponds to the \fB\-framework\fP option for Apple\(aqs Linker.
  1084. .TP
  1085. .B \fB\-framework\-path ⟨dir⟩\fP
  1086. On Darwin/OS X/iOS only, add ⟨dir⟩ to the list of directories
  1087. searched for frameworks. This option corresponds to the \fB\-F\fP
  1088. option for Apple\(aqs Linker.
  1089. .TP
  1090. .B \fB\-fwhole\-archive\-hs\-libs\fP
  1091. When linking a binary executable, this inserts the flag
  1092. \fB\-Wl,\-\-whole\-archive\fP before any \fB\-l\fP flags for Haskell
  1093. libraries, and \fB\-Wl,\-\-no\-whole\-archive\fP afterwards
  1094. .TP
  1095. .B \fB\-keep\-cafs\fP
  1096. Do not garbage\-collect CAFs (top\-level expressions) at runtime
  1097. .TP
  1098. .B \fB\-L ⟨dir⟩\fP
  1099. Add ⟨dir⟩ to the list of directories searched for libraries
  1100. .TP
  1101. .B \fB\-l ⟨lib⟩\fP
  1102. Link in library ⟨lib⟩
  1103. .TP
  1104. .B \fB\-main\-is ⟨thing⟩\fP
  1105. Set main module and function
  1106. .TP
  1107. .B \fB\-no\-hs\-main\fP
  1108. Don\(aqt assume this program contains \fBmain\fP
  1109. .TP
  1110. .B \fB\-no\-rtsopts\-suggestions\fP
  1111. Don\(aqt print RTS suggestions about linking with
  1112. \fB\-rtsopts[=⟨none|some|all|ignore|ignoreAll⟩]\fP\&.
  1113. .TP
  1114. .B \fB\-package ⟨name⟩\fP
  1115. Expose package ⟨pkg⟩
  1116. .TP
  1117. .B \fB\-pie\fP
  1118. Instruct the linker to produce a position\-independent executable.
  1119. .TP
  1120. .B \fB\-rdynamic\fP
  1121. This instructs the linker to add all symbols, not only used
  1122. ones, to the dynamic symbol table. Currently Linux and
  1123. Windows/MinGW32 only. This is equivalent to using
  1124. \fB\-optl \-rdynamic\fP on Linux, and \fB\-optl \-export\-all\-symbols\fP
  1125. on Windows.
  1126. .TP
  1127. .B \fB\-rtsopts[=⟨none|some|all|ignore|ignoreAll⟩]\fP
  1128. Control whether the RTS behaviour can be tweaked via command\-line
  1129. flags and the \fBGHCRTS\fP environment variable. Using \fBnone\fP
  1130. means no RTS flags can be given; \fBsome\fP means only a minimum
  1131. of safe options can be given (the default); \fBall\fP (or no
  1132. argument at all) means that all RTS flags are permitted; \fBignore\fP
  1133. means RTS flags can be given, but are treated as regular arguments and
  1134. passed to the Haskell program as arguments; \fBignoreAll\fP is the same as
  1135. \fBignore\fP, but \fBGHCRTS\fP is also ignored. \fB\-rtsopts\fP does not
  1136. affect \fB\-with\-rtsopts\fP behavior; flags passed via \fB\-with\-rtsopts\fP
  1137. are used regardless of \fB\-rtsopts\fP\&.
  1138. .TP
  1139. .B \fB\-shared\fP
  1140. Generate a shared library (as opposed to an executable)
  1141. .TP
  1142. .B \fB\-split\-sections\fP
  1143. Split sections for link\-time dead\-code stripping
  1144. .TP
  1145. .B \fB\-static\fP
  1146. Use static Haskell libraries
  1147. .TP
  1148. .B \fB\-staticlib\fP
  1149. Generate a standalone static library (as opposed to an
  1150. executable). This is useful when cross compiling. The
  1151. library together with all its dependencies ends up in in a
  1152. single static library that can be linked against.
  1153. .TP
  1154. .B \fB\-threaded\fP
  1155. Use the threaded runtime
  1156. .TP
  1157. .B \fB\-with\-rtsopts=⟨opts⟩\fP
  1158. Set the default RTS options to ⟨opts⟩.
  1159. .UNINDENT
  1160. .SS Miscellaneous options
  1161. .INDENT 0.0
  1162. .TP
  1163. .B \fB\-fexternal\-interpreter\fP
  1164. Run interpreted code in a separate process
  1165. .TP
  1166. .B \fB\-fglasgow\-exts\fP
  1167. Deprecated. Enable most language extensions;
  1168. see options\-language for exactly which ones.
  1169. .TP
  1170. .B \fB\-ghcversion\-file ⟨path to ghcversion.h⟩\fP
  1171. (GHC as a C compiler only) Use this \fBghcversion.h\fP file
  1172. .TP
  1173. .B \fB\-H ⟨size⟩\fP
  1174. Set the minimum size of the heap to ⟨size⟩
  1175. .TP
  1176. .B \fB\-j[⟨n⟩]\fP
  1177. When compiling with \fB\-\-make\fP, compile ⟨n⟩ modules
  1178. in parallel.
  1179. .UNINDENT
  1180. .SS Modes of operation
  1181. .INDENT 0.0
  1182. .TP
  1183. .B \fB\-\-frontend ⟨module⟩\fP
  1184. run GHC with the given frontend plugin; see
  1185. frontend_plugins for details.
  1186. .TP
  1187. .B \fB\-\-help\fP
  1188. Display help
  1189. .TP
  1190. .B \fB\-\-info\fP
  1191. display information about the compiler
  1192. .TP
  1193. .B \fB\-\-interactive\fP
  1194. Interactive mode \- normally used by just running \fBghci\fP;
  1195. see ghci for details.
  1196. .TP
  1197. .B \fB\-\-make\fP
  1198. Build a multi\-module Haskell program, automatically figuring out
  1199. dependencies. Likely to be much easier, and faster, than using
  1200. \fBmake\fP; see make\-mode for details.
  1201. .TP
  1202. .B \fB\-\-mk\-dll\fP
  1203. DLL\-creation mode (Windows only)
  1204. .TP
  1205. .B \fB\-\-numeric\-version\fP
  1206. display GHC version (numeric only)
  1207. .TP
  1208. .B \fB\-\-print\-libdir\fP
  1209. display GHC library directory
  1210. .TP
  1211. .B \fB\-\-show\-iface ⟨file⟩\fP
  1212. display the contents of an interface file.
  1213. .TP
  1214. .B \fB\-\-show\-options\fP
  1215. display the supported command line options
  1216. .TP
  1217. .B \fB\-\-supported\-extensions\fP
  1218. display the supported language extensions
  1219. .TP
  1220. .B \fB\-\-version\fP
  1221. display GHC version
  1222. .TP
  1223. .B \fB\-e ⟨expr⟩\fP
  1224. Evaluate \fBexpr\fP; see eval\-mode for details.
  1225. .TP
  1226. .B \fB\-M\fP
  1227. generate dependency information suitable for use in a
  1228. \fBMakefile\fP; see makefile\-dependencies for details.
  1229. .UNINDENT
  1230. .SS Individual optimizations
  1231. .INDENT 0.0
  1232. .TP
  1233. .B \fB\-fasm\-shortcutting\fP
  1234. Enable shortcutting on assembly. Implied by \fB\-O2\fP\&.
  1235. .TP
  1236. .B \fB\-fbinary\-blob\-threshold=⟨n⟩\fP
  1237. \fIdefault: 500K.\fP Tweak assembly generator for binary blobs.
  1238. .TP
  1239. .B \fB\-fblock\-layout\-cfg\fP
  1240. Use the new cfg based block layout algorithm.
  1241. .TP
  1242. .B \fB\-fblock\-layout\-weightless\fP
  1243. Ignore cfg weights for code layout.
  1244. .TP
  1245. .B \fB\-fblock\-layout\-weights\fP
  1246. Sets edge weights used by the new code layout algorithm.
  1247. .TP
  1248. .B \fB\-fcall\-arity\fP
  1249. Enable call\-arity optimisation. Implied by \fB\-O\fP\&.
  1250. .TP
  1251. .B \fB\-fcase\-folding\fP
  1252. Enable constant folding in case expressions. Implied by \fB\-O\fP\&.
  1253. .TP
  1254. .B \fB\-fcase\-merge\fP
  1255. Enable case\-merging. Implied by \fB\-O\fP\&.
  1256. .TP
  1257. .B \fB\-fcmm\-elim\-common\-blocks\fP
  1258. Enable Cmm common block elimination. Implied by \fB\-O\fP\&.
  1259. .TP
  1260. .B \fB\-fcmm\-sink\fP
  1261. Enable Cmm sinking. Implied by \fB\-O\fP\&.
  1262. .TP
  1263. .B \fB\-fcpr\-anal\fP
  1264. Turn on CPR analysis in the demand analyser. Implied by \fB\-O\fP\&.
  1265. .TP
  1266. .B \fB\-fcross\-module\-specialise\fP
  1267. Turn on specialisation of overloaded functions imported from
  1268. other modules.
  1269. .TP
  1270. .B \fB\-fcse\fP
  1271. Enable common sub\-expression elimination. Implied by \fB\-O\fP\&.
  1272. .TP
  1273. .B \fB\-fdicts\-cheap\fP
  1274. Make dictionary\-valued expressions seem cheap to the optimiser.
  1275. .TP
  1276. .B \fB\-fdicts\-strict\fP
  1277. Make dictionaries strict
  1278. .TP
  1279. .B \fB\-fdmd\-tx\-dict\-sel\fP
  1280. Use a special demand transformer for dictionary selectors.
  1281. Always enabled by default.
  1282. .TP
  1283. .B \fB\-fdo\-eta\-reduction\fP
  1284. Enable eta\-reduction. Implied by \fB\-O\fP\&.
  1285. .TP
  1286. .B \fB\-fdo\-lambda\-eta\-expansion\fP
  1287. Enable lambda eta\-expansion. Always enabled by default.
  1288. .TP
  1289. .B \fB\-feager\-blackholing\fP
  1290. Turn on eager blackholing
  1291. .TP
  1292. .B \fB\-fenable\-rewrite\-rules\fP
  1293. Switch on all rewrite rules (including rules generated by
  1294. automatic specialisation of overloaded functions). Implied by
  1295. \fB\-O\fP\&.
  1296. .TP
  1297. .B \fB\-fexcess\-precision\fP
  1298. Enable excess intermediate precision
  1299. .TP
  1300. .B \fB\-fexitification\fP
  1301. Enables exitification optimisation. Implied by \fB\-O\fP\&.
  1302. .TP
  1303. .B \fB\-fexpose\-all\-unfoldings\fP
  1304. Expose all unfoldings, even for very large or recursive functions.
  1305. .TP
  1306. .B \fB\-ffloat\-in\fP
  1307. Turn on the float\-in transformation. Implied by \fB\-O\fP\&.
  1308. .TP
  1309. .B \fB\-ffull\-laziness\fP
  1310. Turn on full laziness (floating bindings outwards).
  1311. Implied by \fB\-O\fP\&.
  1312. .TP
  1313. .B \fB\-ffun\-to\-thunk\fP
  1314. Allow worker\-wrapper to convert a function closure into a thunk
  1315. if the function does not use any of its arguments. Off by default.
  1316. .TP
  1317. .B \fB\-fignore\-asserts\fP
  1318. Ignore assertions in the source. Implied by \fB\-O\fP\&.
  1319. .TP
  1320. .B \fB\-fignore\-interface\-pragmas\fP
  1321. Ignore pragmas in interface files. Implied by \fB\-O0\fP only.
  1322. .TP
  1323. .B \fB\-flate\-dmd\-anal\fP
  1324. Run demand analysis again, at the end of the
  1325. simplification pipeline
  1326. .TP
  1327. .B \fB\-flate\-specialise\fP
  1328. Run a late specialisation pass
  1329. .TP
  1330. .B \fB\-fliberate\-case\fP
  1331. Turn on the liberate\-case transformation. Implied by \fB\-O2\fP\&.
  1332. .TP
  1333. .B \fB\-fliberate\-case\-threshold=⟨n⟩\fP
  1334. \fIdefault: 2000.\fP Set the size threshold for the liberate\-case
  1335. transformation to ⟨n⟩
  1336. .TP
  1337. .B \fB\-fllvm\-pass\-vectors\-in\-regs\fP
  1338. Pass vector value in vector registers for function calls
  1339. .TP
  1340. .B \fB\-floopification\fP
  1341. Turn saturated self\-recursive tail\-calls into local jumps in the
  1342. generated assembly. Implied by \fB\-O\fP\&.
  1343. .TP
  1344. .B \fB\-fmax\-inline\-alloc\-size=⟨n⟩\fP
  1345. \fIdefault: 128.\fP Set the maximum size of inline array allocations
  1346. to ⟨n⟩ bytes (default: 128).
  1347. .TP
  1348. .B \fB\-fmax\-inline\-memcpy\-insns=⟨n⟩\fP
  1349. \fIdefault: 32.\fP Inline \fBmemcpy\fP calls if they would generate no
  1350. more than ⟨n⟩ pseudo instructions.
  1351. .TP
  1352. .B \fB\-fmax\-inline\-memset\-insns=⟨n⟩\fP
  1353. \fIdefault: 32.\fP Inline \fBmemset\fP calls if they would generate no
  1354. more than ⟨n⟩ pseudo instructions
  1355. .TP
  1356. .B \fB\-fmax\-simplifier\-iterations=⟨n⟩\fP
  1357. \fIdefault: 4.\fP Set the max iterations for the simplifier.
  1358. .TP
  1359. .B \fB\-fmax\-uncovered\-patterns=⟨n⟩\fP
  1360. \fIdefault: 4.\fP Set the maximum number of patterns to display in
  1361. warnings about non\-exhaustive ones.
  1362. .TP
  1363. .B \fB\-fmax\-worker\-args=⟨n⟩\fP
  1364. \fIdefault: 10.\fP If a worker has that many arguments, none will
  1365. be unpacked anymore.
  1366. .TP
  1367. .B \fB\-fno\-opt\-coercion\fP
  1368. Turn off the coercion optimiser
  1369. .TP
  1370. .B \fB\-fno\-pre\-inlining\fP
  1371. Turn off pre\-inlining
  1372. .TP
  1373. .B \fB\-fno\-state\-hack\fP
  1374. Turn off the state hackwhereby any lambda with a real\-world
  1375. state token as argument is considered to be single\-entry. Hence
  1376. OK to inline things inside it.
  1377. .TP
  1378. .B \fB\-fomit\-interface\-pragmas\fP
  1379. Don\(aqt generate interface pragmas. Implied by \fB\-O0\fP only.
  1380. .TP
  1381. .B \fB\-fomit\-yields\fP
  1382. Omit heap checks when no allocation is being performed.
  1383. .TP
  1384. .B \fB\-foptimal\-applicative\-do\fP
  1385. Use a slower but better algorithm for ApplicativeDo
  1386. .TP
  1387. .B \fB\-fpedantic\-bottoms\fP
  1388. Make GHC be more precise about its treatment of bottom (but see
  1389. also \fB\-fno\-state\-hack\fP). In particular, GHC will not
  1390. eta\-expand through a case expression.
  1391. .TP
  1392. .B \fB\-fregs\-graph\fP
  1393. Use the graph colouring register allocator for register
  1394. allocation in the native code generator. Implied by \fB\-O2\fP\&.
  1395. .TP
  1396. .B \fB\-fregs\-iterative\fP
  1397. Use the iterative coalescing graph colouring register allocator
  1398. in the native code generator.
  1399. .TP
  1400. .B \fB\-fsimpl\-tick\-factor=⟨n⟩\fP
  1401. \fIdefault: 100.\fP Set the percentage factor for simplifier ticks.
  1402. .TP
  1403. .B \fB\-fsimplifier\-phases=⟨n⟩\fP
  1404. \fIdefault: 2.\fP Set the number of phases for the simplifier.
  1405. Ignored with \fB\-O0\fP\&.
  1406. .TP
  1407. .B \fB\-fsolve\-constant\-dicts\fP
  1408. When solving constraints, try to eagerly solve
  1409. super classes using available dictionaries.
  1410. .TP
  1411. .B \fB\-fspec\-constr\fP
  1412. Turn on the SpecConstr transformation. Implied by \fB\-O2\fP\&.
  1413. .TP
  1414. .B \fB\-fspec\-constr\-count=⟨n⟩\fP
  1415. default: 3.* Set to ⟨n⟩ the maximum number of specialisations that
  1416. will be created for any one function by the SpecConstr
  1417. transformation.
  1418. .TP
  1419. .B \fB\-fspec\-constr\-keen\fP
  1420. Specialize a call with an explicit constructor argument,
  1421. even if the argument is not scrutinised in the body of the function
  1422. .TP
  1423. .B \fB\-fspec\-constr\-threshold=⟨n⟩\fP
  1424. \fIdefault: 2000.\fP Set the size threshold for the SpecConstr
  1425. transformation to ⟨n⟩.
  1426. .TP
  1427. .B \fB\-fspecialise\fP
  1428. Turn on specialisation of overloaded functions. Implied by \fB\-O\fP\&.
  1429. .TP
  1430. .B \fB\-fspecialise\-aggressively\fP
  1431. Turn on specialisation of overloaded functions regardless of
  1432. size, if unfolding is available
  1433. .TP
  1434. .B \fB\-fstatic\-argument\-transformation\fP
  1435. Turn on the static argument transformation.
  1436. .TP
  1437. .B \fB\-fstg\-cse\fP
  1438. Enable common sub\-expression elimination on the STG
  1439. intermediate language
  1440. .TP
  1441. .B \fB\-fstg\-lift\-lams\fP
  1442. Enable late lambda lifting on the STG intermediate
  1443. language. Implied by \fB\-O2\fP\&.
  1444. .TP
  1445. .B \fB\-fstg\-lift\-lams\-known\fP
  1446. Allow turning known into unknown calls while performing
  1447. late lambda lifting.
  1448. .TP
  1449. .B \fB\-fstg\-lift\-lams\-non\-rec\-args\fP
  1450. Create top\-level non\-recursive functions with at most <n>
  1451. parameters while performing late lambda lifting.
  1452. .TP
  1453. .B \fB\-fstg\-lift\-lams\-rec\-args\fP
  1454. Create top\-level recursive functions with at most <n>
  1455. parameters while performing late lambda lifting.
  1456. .TP
  1457. .B \fB\-fstrictness\fP
  1458. Turn on strictness analysis.
  1459. Implied by \fB\-O\fP\&. Implies \fB\-fworker\-wrapper\fP
  1460. .TP
  1461. .B \fB\-fstrictness\-before=⟨n⟩\fP
  1462. Run an additional strictness analysis before simplifier phase ⟨n⟩
  1463. .TP
  1464. .B \fB\-funbox\-small\-strict\-fields\fP
  1465. Flatten strict constructor fields with a pointer\-sized
  1466. representation. Implied by \fB\-O\fP\&.
  1467. .TP
  1468. .B \fB\-funbox\-strict\-fields\fP
  1469. Flatten strict constructor fields
  1470. .TP
  1471. .B \fB\-funfolding\-creation\-threshold=⟨n⟩\fP
  1472. \fIdefault: 750.\fP Tweak unfolding settings.
  1473. .TP
  1474. .B \fB\-funfolding\-dict\-discount=⟨n⟩\fP
  1475. \fIdefault: 30.\fP Tweak unfolding settings.
  1476. .TP
  1477. .B \fB\-funfolding\-fun\-discount=⟨n⟩\fP
  1478. \fIdefault: 60.\fP Tweak unfolding settings.
  1479. .TP
  1480. .B \fB\-funfolding\-keeness\-factor=⟨n⟩\fP
  1481. \fIdefault: 1.5.\fP Tweak unfolding settings.
  1482. .TP
  1483. .B \fB\-funfolding\-use\-threshold=⟨n⟩\fP
  1484. \fIdefault: 60.\fP Tweak unfolding settings.
  1485. .TP
  1486. .B \fB\-fworker\-wrapper\fP
  1487. Enable the worker\-wrapper transformation.
  1488. .UNINDENT
  1489. .SS Optimization levels
  1490. .INDENT 0.0
  1491. .TP
  1492. .B \fB\-O\fP
  1493. Enable level 1 optimisations
  1494. .TP
  1495. .B \fB\-O0\fP
  1496. Disable optimisations (default)
  1497. .TP
  1498. .B \fB\-O2\fP
  1499. Enable level 2 optimisations
  1500. .TP
  1501. .B \fB\-O⟨n⟩\fP
  1502. Any \-On where n > 2 is the same as \-O2.
  1503. .UNINDENT
  1504. .SS Package options
  1505. .INDENT 0.0
  1506. .TP
  1507. .B \fB\-clear\-package\-db\fP
  1508. Clear the package db stack.
  1509. .TP
  1510. .B \fB\-distrust ⟨pkg⟩\fP
  1511. Expose package ⟨pkg⟩ and set it to be distrusted. See
  1512. safe\-haskell\&.
  1513. .TP
  1514. .B \fB\-distrust\-all\-packages\fP
  1515. Distrust all packages by default. See safe\-haskell\&.
  1516. .TP
  1517. .B \fB\-fpackage\-trust\fP
  1518. Enable Safe Haskell trusted package
  1519. requirement for trustworthy modules.
  1520. .TP
  1521. .B \fB\-global\-package\-db\fP
  1522. Add the global package db to the stack.
  1523. .TP
  1524. .B \fB\-hide\-all\-packages\fP
  1525. Hide all packages by default
  1526. .TP
  1527. .B \fB\-hide\-package ⟨pkg⟩\fP
  1528. Hide package ⟨pkg⟩
  1529. .TP
  1530. .B \fB\-ignore\-package ⟨pkg⟩\fP
  1531. Ignore package ⟨pkg⟩
  1532. .TP
  1533. .B \fB\-no\-auto\-link\-packages\fP
  1534. Don\(aqt automatically link in the base and rts packages.
  1535. .TP
  1536. .B \fB\-no\-global\-package\-db\fP
  1537. Remove the global package db from the stack.
  1538. .TP
  1539. .B \fB\-no\-user\-package\-db\fP
  1540. Remove the user\(aqs package db from the stack.
  1541. .TP
  1542. .B \fB\-package ⟨pkg⟩\fP
  1543. Expose package ⟨pkg⟩
  1544. .TP
  1545. .B \fB\-package\-db ⟨file⟩\fP
  1546. Add ⟨file⟩ to the package db stack.
  1547. .TP
  1548. .B \fB\-package\-env ⟨file⟩|⟨name⟩\fP
  1549. Use the specified package environment.
  1550. .TP
  1551. .B \fB\-package\-id ⟨unit\-id⟩\fP
  1552. Expose package by id ⟨unit\-id⟩
  1553. .TP
  1554. .B \fB\-this\-unit\-id ⟨unit\-id⟩\fP
  1555. Compile to be part of unit (i.e. package)
  1556. ⟨unit\-id⟩
  1557. .TP
  1558. .B \fB\-trust ⟨pkg⟩\fP
  1559. Expose package ⟨pkg⟩ and set it to be trusted. See
  1560. safe\-haskell\&.
  1561. .TP
  1562. .B \fB\-user\-package\-db\fP
  1563. Add the user\(aqs package db to the stack.
  1564. .UNINDENT
  1565. .SS Phases of compilation
  1566. .INDENT 0.0
  1567. .TP
  1568. .B \fB\-C\fP
  1569. Stop after generating C (\fB\&.hc\fP file)
  1570. .TP
  1571. .B \fB\-c\fP
  1572. Stop after generating object (\fB\&.o\fP) file
  1573. .TP
  1574. .B \fB\-E\fP
  1575. Stop after preprocessing (\fB\&.hspp\fP file)
  1576. .TP
  1577. .B \fB\-F\fP
  1578. Enable the use of a pre\-processor
  1579. (set with \fB\-pgmF ⟨cmd⟩\fP)
  1580. .TP
  1581. .B \fB\-S\fP
  1582. Stop after generating assembly (\fB\&.s\fP file)
  1583. .TP
  1584. .B \fB\-x ⟨suffix⟩\fP
  1585. Override default behaviour for source files
  1586. .UNINDENT
  1587. .SS Overriding external programs
  1588. .INDENT 0.0
  1589. .TP
  1590. .B \fB\-pgma ⟨cmd⟩\fP
  1591. Use ⟨cmd⟩ as the assembler
  1592. .TP
  1593. .B \fB\-pgmc ⟨cmd⟩\fP
  1594. Use ⟨cmd⟩ as the C compiler
  1595. .TP
  1596. .B \fB\-pgmdll ⟨cmd⟩\fP
  1597. Use ⟨cmd⟩ as the DLL generator
  1598. .TP
  1599. .B \fB\-pgmF ⟨cmd⟩\fP
  1600. Use ⟨cmd⟩ as the pre\-processor (with \fB\-F\fP only)
  1601. .TP
  1602. .B \fB\-pgmi ⟨cmd⟩\fP
  1603. Use ⟨cmd⟩ as the external interpreter command.
  1604. .TP
  1605. .B \fB\-pgminstall_name_tool ⟨cmd⟩\fP
  1606. Use ⟨cmd⟩ as the program to inject \fBrunpath\fP into mach\-o dylibs on macOS
  1607. .TP
  1608. .B \fB\-pgmL ⟨cmd⟩\fP
  1609. Use ⟨cmd⟩ as the literate pre\-processor
  1610. .TP
  1611. .B \fB\-pgml ⟨cmd⟩\fP
  1612. Use ⟨cmd⟩ as the linker
  1613. .TP
  1614. .B \fB\-pgmlc ⟨cmd⟩\fP
  1615. Use ⟨cmd⟩ as the LLVM compiler
  1616. .TP
  1617. .B \fB\-pgmlibtool ⟨cmd⟩\fP
  1618. Use ⟨cmd⟩ as the command for libtool (with \fB\-staticlib\fP only).
  1619. .TP
  1620. .B \fB\-pgmlm ⟨cmd⟩\fP
  1621. Use ⟨cmd⟩ as the linker when merging object files
  1622. .TP
  1623. .B \fB\-pgmlo ⟨cmd⟩\fP
  1624. Use ⟨cmd⟩ as the LLVM optimiser
  1625. .TP
  1626. .B \fB\-pgmotool ⟨cmd⟩\fP
  1627. Use ⟨cmd⟩ as the program to inspect mach\-o dylibs on macOS
  1628. .TP
  1629. .B \fB\-pgmP ⟨cmd⟩\fP
  1630. Use ⟨cmd⟩ as the C pre\-processor (with \fB\-cpp\fP only)
  1631. .TP
  1632. .B \fB\-pgms ⟨cmd⟩\fP
  1633. Use ⟨cmd⟩ as the splitter
  1634. .TP
  1635. .B \fB\-pgmwindres ⟨cmd⟩\fP
  1636. Use ⟨cmd⟩ as the program for embedding manifests on Windows.
  1637. .UNINDENT
  1638. .SS Phase\-specific options
  1639. .INDENT 0.0
  1640. .TP
  1641. .B \fB\-opta ⟨option⟩\fP
  1642. pass ⟨option⟩ to the assembler
  1643. .TP
  1644. .B \fB\-optc ⟨option⟩\fP
  1645. pass ⟨option⟩ to the C compiler
  1646. .TP
  1647. .B \fB\-optcxx ⟨option⟩\fP
  1648. pass ⟨option⟩ to the C++ compiler
  1649. .TP
  1650. .B \fB\-optdll ⟨option⟩\fP
  1651. pass ⟨option⟩ to the DLL generator
  1652. .TP
  1653. .B \fB\-optF ⟨option⟩\fP
  1654. pass ⟨option⟩ to the custom pre\-processor
  1655. .TP
  1656. .B \fB\-opti ⟨option⟩\fP
  1657. pass ⟨option⟩ to the interpreter sub\-process.
  1658. .TP
  1659. .B \fB\-optL ⟨option⟩\fP
  1660. pass ⟨option⟩ to the literate pre\-processor
  1661. .TP
  1662. .B \fB\-optl ⟨option⟩\fP
  1663. pass ⟨option⟩ to the linker
  1664. .TP
  1665. .B \fB\-optlc ⟨option⟩\fP
  1666. pass ⟨option⟩ to the LLVM compiler
  1667. .TP
  1668. .B \fB\-optlm ⟨option⟩\fP
  1669. pass ⟨option⟩ to the linker when merging object files.
  1670. .TP
  1671. .B \fB\-optlo ⟨option⟩\fP
  1672. pass ⟨option⟩ to the LLVM optimiser
  1673. .TP
  1674. .B \fB\-optP ⟨option⟩\fP
  1675. pass ⟨option⟩ to cpp (with \fB\-cpp\fP only)
  1676. .TP
  1677. .B \fB\-optwindres ⟨option⟩\fP
  1678. pass ⟨option⟩ to \fBwindres\fP\&.
  1679. .TP
  1680. .B \fB\-pgmc\-supports\-no\-pie\fP
  1681. Indicate that the C compiler supports \fB\-no\-pie\fP
  1682. .UNINDENT
  1683. .SS Platform\-specific options
  1684. .INDENT 0.0
  1685. .TP
  1686. .B \fB\-mbmi2\fP
  1687. (x86 only) Use BMI2 for bit manipulation operations
  1688. .TP
  1689. .B \fB\-msse2\fP
  1690. (x86 only) Use SSE2 for floating\-point operations
  1691. .TP
  1692. .B \fB\-msse4.2\fP
  1693. (x86 only) Use SSE4.2 for floating\-point operations
  1694. .UNINDENT
  1695. .SS Compiler plugins
  1696. .INDENT 0.0
  1697. .TP
  1698. .B \fB\-fclear\-plugins\fP
  1699. Clear the list of active plugins
  1700. .TP
  1701. .B \fB\-fplugin\-opt=⟨module⟩:⟨args⟩\fP
  1702. Give arguments to a plugin module; module must be specified with
  1703. \fB\-fplugin=⟨module⟩\fP
  1704. .TP
  1705. .B \fB\-fplugin\-trustworthy\fP
  1706. Trust the used plugins and no longer mark the compiled module
  1707. as unsafe
  1708. .TP
  1709. .B \fB\-fplugin=⟨module⟩\fP
  1710. Load a plugin exported by a given module
  1711. .TP
  1712. .B \fB\-hide\-all\-plugin\-packages\fP
  1713. Hide all packages for plugins by default
  1714. .TP
  1715. .B \fB\-plugin\-package ⟨pkg⟩\fP
  1716. Expose ⟨pkg⟩ for plugins
  1717. .TP
  1718. .B \fB\-plugin\-package\-id ⟨pkg\-id⟩\fP
  1719. Expose ⟨pkg\-id⟩ for plugins
  1720. .UNINDENT
  1721. .SS Profiling
  1722. .INDENT 0.0
  1723. .TP
  1724. .B \fB\-fno\-prof\-auto\fP
  1725. Disables any previous \fB\-fprof\-auto\fP,
  1726. \fB\-fprof\-auto\-top\fP, or \fB\-fprof\-auto\-exported\fP options.
  1727. .TP
  1728. .B \fB\-fno\-prof\-cafs\fP
  1729. Disables any previous \fB\-fprof\-cafs\fP option.
  1730. .TP
  1731. .B \fB\-fno\-prof\-count\-entries\fP
  1732. Do not collect entry counts
  1733. .TP
  1734. .B \fB\-fprof\-auto\fP
  1735. Auto\-add \fBSCC\fP\e s to all bindings not marked INLINE
  1736. .TP
  1737. .B \fB\-fprof\-auto\-calls\fP
  1738. Auto\-add \fBSCC\fP\e s to all call sites
  1739. .TP
  1740. .B \fB\-fprof\-auto\-exported\fP
  1741. Auto\-add \fBSCC\fP\e s to all exported bindings not marked INLINE
  1742. .TP
  1743. .B \fB\-fprof\-auto\-top\fP
  1744. Auto\-add \fBSCC\fP\e s to all top\-level bindings not marked INLINE
  1745. .TP
  1746. .B \fB\-fprof\-cafs\fP
  1747. Auto\-add \fBSCC\fP\e s to all CAFs
  1748. .TP
  1749. .B \fB\-prof\fP
  1750. Turn on profiling
  1751. .TP
  1752. .B \fB\-ticky\fP
  1753. Turn on ticky\-ticky profiling
  1754. .UNINDENT
  1755. .SS Program coverage
  1756. .INDENT 0.0
  1757. .TP
  1758. .B \fB\-fhpc\fP
  1759. Turn on Haskell program coverage instrumentation
  1760. .UNINDENT
  1761. .SS Recompilation checking
  1762. .INDENT 0.0
  1763. .TP
  1764. .B \fB\-fforce\-recomp\fP
  1765. Turn off recompilation checking. This is implied by any
  1766. \fB\-ddump\-X\fP option when compiling a single file
  1767. (i.e. when using \fB\-c\fP).
  1768. .TP
  1769. .B \fB\-fignore\-hpc\-changes\fP
  1770. Do not recompile modules just to match changes to
  1771. HPC flags. This is especially useful for avoiding recompilation
  1772. when using GHCi, and is enabled by default for GHCi.
  1773. .TP
  1774. .B \fB\-fignore\-optim\-changes\fP
  1775. Do not recompile modules just to match changes to
  1776. optimisation flags. This is especially useful for avoiding
  1777. recompilation when using GHCi, and is enabled by default for
  1778. GHCi.
  1779. .UNINDENT
  1780. .SS Redirecting output
  1781. .INDENT 0.0
  1782. .TP
  1783. .B \fB\-\-exclude\-module=⟨file⟩\fP
  1784. Regard \fB⟨file⟩\fP as "stable"; i.e., exclude it from having
  1785. dependencies on it.
  1786. .TP
  1787. .B \fB\-ddump\-mod\-cycles\fP
  1788. Dump module cycles
  1789. .TP
  1790. .B \fB\-dep\-makefile ⟨file⟩\fP
  1791. Use ⟨file⟩ as the makefile
  1792. .TP
  1793. .B \fB\-dep\-suffix ⟨suffix⟩\fP
  1794. Make dependencies that declare that files with suffix
  1795. \fB\&.⟨suf⟩⟨osuf⟩\fP depend on interface files with suffix \fB\&.⟨suf⟩hi\fP
  1796. .TP
  1797. .B \fB\-dumpdir ⟨dir⟩\fP
  1798. redirect dump files
  1799. .TP
  1800. .B \fB\-hcsuf ⟨suffix⟩\fP
  1801. set the suffix to use for intermediate C files
  1802. .TP
  1803. .B \fB\-hidir ⟨dir⟩\fP
  1804. set directory for interface files
  1805. .TP
  1806. .B \fB\-hiedir ⟨dir⟩\fP
  1807. set directory for extended interface files
  1808. .TP
  1809. .B \fB\-hiesuf ⟨suffix⟩\fP
  1810. set the suffix to use for extended interface files
  1811. .TP
  1812. .B \fB\-hisuf ⟨suffix⟩\fP
  1813. set the suffix to use for interface files
  1814. .TP
  1815. .B \fB\-include\-cpp\-deps\fP
  1816. Include preprocessor dependencies
  1817. .TP
  1818. .B \fB\-include\-pkg\-deps\fP
  1819. Regard modules imported from packages as unstable
  1820. .TP
  1821. .B \fB\-o ⟨file⟩\fP
  1822. set output filename
  1823. .TP
  1824. .B \fB\-odir ⟨dir⟩\fP
  1825. set directory for object files
  1826. .TP
  1827. .B \fB\-ohi ⟨file⟩\fP
  1828. set the filename in which to put the interface
  1829. .TP
  1830. .B \fB\-osuf ⟨suffix⟩\fP
  1831. set the output file suffix
  1832. .TP
  1833. .B \fB\-outputdir ⟨dir⟩\fP
  1834. set output directory
  1835. .TP
  1836. .B \fB\-stubdir ⟨dir⟩\fP
  1837. redirect FFI stub files
  1838. .UNINDENT
  1839. .SS Temporary files
  1840. .INDENT 0.0
  1841. .TP
  1842. .B \fB\-tmpdir ⟨dir⟩\fP
  1843. set the directory for temporary files
  1844. .UNINDENT
  1845. .SS Verbosity options
  1846. .INDENT 0.0
  1847. .TP
  1848. .B \fB\-fabstract\-refinement\-hole\-fits\fP
  1849. \fIdefault: off.\fP Toggles whether refinements where one or more
  1850. of the holes are abstract are reported.
  1851. .TP
  1852. .B \fB\-fdefer\-diagnostics\fP
  1853. Defer and group diagnostic messages by severity
  1854. .TP
  1855. .B \fB\-fdiagnostics\-color=⟨always|auto|never⟩\fP
  1856. Use colors in error messages
  1857. .TP
  1858. .B \fB\-fdiagnostics\-show\-caret\fP
  1859. Whether to show snippets of original source code
  1860. .TP
  1861. .B \fB\-ferror\-spans\fP
  1862. Output full span in error messages
  1863. .TP
  1864. .B \fB\-fhide\-source\-paths\fP
  1865. hide module source and object paths
  1866. .TP
  1867. .B \fB\-fkeep\-going\fP
  1868. Continue compilation as far as possible on errors
  1869. .TP
  1870. .B \fB\-fmax\-refinement\-hole\-fits=⟨n⟩\fP
  1871. \fIdefault: 6.\fP Set the maximum number of refinement hole fits
  1872. for typed holes to display in type error messages.
  1873. .TP
  1874. .B \fB\-fmax\-relevant\-binds=⟨n⟩\fP
  1875. \fIdefault: 6.\fP Set the maximum number of bindings to display in
  1876. type error messages.
  1877. .TP
  1878. .B \fB\-fmax\-valid\-hole\-fits=⟨n⟩\fP
  1879. \fIdefault: 6.\fP Set the maximum number of valid hole fits for
  1880. typed holes to display in type error messages.
  1881. .TP
  1882. .B \fB\-fno\-show\-valid\-hole\-fits\fP
  1883. Disables showing a list of valid hole fits for typed holes
  1884. in type error messages.
  1885. .TP
  1886. .B \fB\-fno\-sort\-valid\-hole\-fits\fP
  1887. Disables the sorting of the list of valid hole fits for typed holes
  1888. in type error messages.
  1889. .TP
  1890. .B \fB\-fprint\-axiom\-incomps\fP
  1891. Display equation incompatibilities in closed type families
  1892. .TP
  1893. .B \fB\-fprint\-equality\-relations\fP
  1894. Distinguish between equality relations when printing
  1895. .TP
  1896. .B \fB\-fprint\-expanded\-synonyms\fP
  1897. In type errors, also print type\-synonym\-expanded types.
  1898. .TP
  1899. .B \fB\-fprint\-explicit\-coercions\fP
  1900. Print coercions in types
  1901. .TP
  1902. .B \fB\-fprint\-explicit\-foralls\fP
  1903. Print explicit \fBforall\fP quantification in types.
  1904. See also \fBExplicitForAll\fP
  1905. .TP
  1906. .B \fB\-fprint\-explicit\-kinds\fP
  1907. Print explicit kind foralls and kind arguments in types.
  1908. See also \fBKindSignatures\fP
  1909. .TP
  1910. .B \fB\-fprint\-explicit\-runtime\-reps\fP
  1911. Print \fBRuntimeRep\fP variables in types which are
  1912. runtime\-representation polymorphic.
  1913. .TP
  1914. .B \fB\-fprint\-potential\-instances\fP
  1915. display all available instances in type error messages
  1916. .TP
  1917. .B \fB\-fprint\-typechecker\-elaboration\fP
  1918. Print extra information from typechecker.
  1919. .TP
  1920. .B \fB\-fprint\-unicode\-syntax\fP
  1921. Use unicode syntax when printing expressions, types and kinds.
  1922. See also \fBUnicodeSyntax\fP
  1923. .TP
  1924. .B \fB\-frefinement\-level\-hole\-fits=⟨n⟩\fP
  1925. \fIdefault: off.\fP Sets the level of refinement of the
  1926. refinement hole fits, where level \fBn\fP means that hole fits
  1927. of up to \fBn\fP holes will be considered.
  1928. .TP
  1929. .B \fB\-freverse\-errors\fP
  1930. Output errors in reverse order
  1931. .TP
  1932. .B \fB\-fshow\-docs\-of\-hole\-fits\fP
  1933. Toggles whether to show the documentation of the valid
  1934. hole fits in the output.
  1935. .TP
  1936. .B \fB\-fshow\-hole\-constraints\fP
  1937. Show constraints when reporting typed holes.
  1938. .TP
  1939. .B \fB\-fshow\-hole\-matches\-of\-hole\-fits\fP
  1940. Toggles whether to show the type of the additional holes
  1941. in refinement hole fits.
  1942. .TP
  1943. .B \fB\-fshow\-provenance\-of\-hole\-fits\fP
  1944. Toggles whether to show the provenance of the valid hole fits
  1945. in the output.
  1946. .TP
  1947. .B \fB\-fshow\-type\-app\-of\-hole\-fits\fP
  1948. Toggles whether to show the type application of the valid
  1949. hole fits in the output.
  1950. .TP
  1951. .B \fB\-fshow\-type\-app\-vars\-of\-hole\-fits\fP
  1952. Toggles whether to show what type each quantified
  1953. variable takes in a valid hole fit.
  1954. .TP
  1955. .B \fB\-fshow\-type\-of\-hole\-fits\fP
  1956. Toggles whether to show the type of the valid hole fits
  1957. in the output.
  1958. .TP
  1959. .B \fB\-funclutter\-valid\-hole\-fits\fP
  1960. Unclutter the list of valid hole fits by not showing
  1961. provenance nor type applications of suggestions.
  1962. .TP
  1963. .B \fB\-Rghc\-timing\fP
  1964. Summarise timing stats for GHC (same as \fB+RTS \-tstderr\fP).
  1965. .TP
  1966. .B \fB\-v\fP
  1967. verbose mode (equivalent to \fB\-v3\fP)
  1968. .TP
  1969. .B \fB\-v⟨n⟩\fP
  1970. set verbosity level
  1971. .UNINDENT
  1972. .SS Warnings
  1973. .INDENT 0.0
  1974. .TP
  1975. .B \fB\-fdefer\-out\-of\-scope\-variables\fP
  1976. Convert variable out of scope variables errors into warnings.
  1977. Implied by \fB\-fdefer\-type\-errors\fP\&.
  1978. See also \fB\-Wdeferred\-out\-of\-scope\-variables\fP\&.
  1979. .TP
  1980. .B \fB\-fdefer\-type\-errors\fP
  1981. Turn type errors into warnings, deferring the error until
  1982. runtime\&. Implies
  1983. \fB\-fdefer\-typed\-holes\fP and
  1984. \fB\-fdefer\-out\-of\-scope\-variables\fP\&.
  1985. See also \fB\-Wdeferred\-type\-errors\fP
  1986. .TP
  1987. .B \fB\-fdefer\-typed\-holes\fP
  1988. Convert typed hole errors into warnings,
  1989. deferring the error until runtime\&.
  1990. Implied by \fB\-fdefer\-type\-errors\fP\&.
  1991. See also \fB\-Wtyped\-holes\fP\&.
  1992. .TP
  1993. .B \fB\-fenable\-th\-splice\-warnings\fP
  1994. Generate warnings for Template Haskell splices
  1995. .TP
  1996. .B \fB\-fhelpful\-errors\fP
  1997. Make suggestions for mis\-spelled names.
  1998. .TP
  1999. .B \fB\-fmax\-pmcheck\-models=⟨n⟩\fP
  2000. soft limit on the number of parallel models the pattern match
  2001. checker should check a pattern match clause against
  2002. .TP
  2003. .B \fB\-fshow\-warning\-groups\fP
  2004. show which group an emitted warning belongs to.
  2005. .TP
  2006. .B \fB\-fvia\-C\fP
  2007. use the C code generator
  2008. .TP
  2009. .B \fB\-W\fP
  2010. enable normal warnings
  2011. .TP
  2012. .B \fB\-w\fP
  2013. disable all warnings
  2014. .TP
  2015. .B \fB\-Wall\fP
  2016. enable almost all warnings (details in options\-sanity)
  2017. .TP
  2018. .B \fB\-Wall\-missed\-specialisations\fP
  2019. warn when specialisation of any overloaded function fails.
  2020. .TP
  2021. .B \fB\-Wcompat\fP
  2022. enable future compatibility warnings
  2023. (details in options\-sanity)
  2024. .TP
  2025. .B \fB\-Wcompat\-unqualified\-imports\fP
  2026. Report unqualified imports of core libraries which are expected
  2027. to cause compatibility problems in future releases.
  2028. .TP
  2029. .B \fB\-Wcpp\-undef\fP
  2030. warn on uses of the \fI#if\fP directive on undefined identifiers
  2031. .TP
  2032. .B \fB\-Wdeferred\-out\-of\-scope\-variables\fP
  2033. Report warnings when variable out\-of\-scope errors are
  2034. deferred until runtime\&.
  2035. See \fB\-fdefer\-out\-of\-scope\-variables\fP\&.
  2036. .TP
  2037. .B \fB\-Wdeferred\-type\-errors\fP
  2038. Report warnings when deferred type errors are enabled. This option is enabled by
  2039. default. See \fB\-fdefer\-type\-errors\fP\&.
  2040. .TP
  2041. .B \fB\-Wdeprecated\-flags\fP
  2042. warn about uses of commandline flags that are deprecated
  2043. .TP
  2044. .B \fB\-Wdeprecations\fP
  2045. warn about uses of functions & types that have warnings or
  2046. deprecated pragmas. Alias for \fB\-Wwarnings\-deprecations\fP
  2047. .TP
  2048. .B \fB\-Wderiving\-defaults\fP
  2049. warn about default deriving when using both
  2050. \fBDeriveAnyClass\fP and \fBGeneralizedNewtypeDeriving\fP
  2051. .TP
  2052. .B \fB\-Wdodgy\-exports\fP
  2053. warn about dodgy exports
  2054. .TP
  2055. .B \fB\-Wdodgy\-foreign\-imports\fP
  2056. warn about dodgy foreign imports
  2057. .TP
  2058. .B \fB\-Wdodgy\-imports\fP
  2059. warn about dodgy imports
  2060. .TP
  2061. .B \fB\-Wduplicate\-constraints\fP
  2062. warn when a constraint appears duplicated in a type signature
  2063. .TP
  2064. .B \fB\-Wduplicate\-exports\fP
  2065. warn when an entity is exported multiple times
  2066. .TP
  2067. .B \fB\-Wempty\-enumerations\fP
  2068. warn about enumerations that are empty
  2069. .TP
  2070. .B \fB\-Werror\fP
  2071. make warnings fatal
  2072. .TP
  2073. .B \fB\-Weverything\fP
  2074. enable all warnings supported by GHC
  2075. .TP
  2076. .B \fB\-Whi\-shadowing\fP
  2077. \fI(deprecated)\fP
  2078. warn when a \fB\&.hi\fP file in the current directory shadows a library
  2079. .TP
  2080. .B \fB\-Widentities\fP
  2081. warn about uses of Prelude numeric conversions that are probably
  2082. the identity (and hence could be omitted)
  2083. .TP
  2084. .B \fB\-Wimplicit\-kind\-vars\fP
  2085. warn when kind variables are implicitly quantified over.
  2086. .TP
  2087. .B \fB\-Wimplicit\-prelude\fP
  2088. warn when the Prelude is implicitly imported
  2089. .TP
  2090. .B \fB\-Winaccessible\-code\fP
  2091. warn about inaccessible code
  2092. .TP
  2093. .B \fB\-Wincomplete\-patterns\fP
  2094. warn when a pattern match could fail
  2095. .TP
  2096. .B \fB\-Wincomplete\-record\-updates\fP
  2097. warn when a record update could fail
  2098. .TP
  2099. .B \fB\-Wincomplete\-uni\-patterns\fP
  2100. warn when a pattern match in a lambda expression or
  2101. pattern binding could fail
  2102. .TP
  2103. .B \fB\-Winline\-rule\-shadowing\fP
  2104. Warn if a rewrite RULE might fail to fire because the
  2105. function might be inlined before the rule has a chance to fire.
  2106. See rules\-inline\&.
  2107. .TP
  2108. .B \fB\-Wmissed\-extra\-shared\-lib\fP
  2109. Warn when GHCi can\(aqt load a shared lib.
  2110. .TP
  2111. .B \fB\-Wmissed\-specialisations\fP
  2112. warn when specialisation of an imported, overloaded function
  2113. fails.
  2114. .TP
  2115. .B \fB\-Wmissing\-deriving\-strategies\fP
  2116. warn when a deriving clause is missing a deriving strategy
  2117. .TP
  2118. .B \fB\-Wmissing\-export\-lists\fP
  2119. warn when a module declaration does not explicitly list all
  2120. exports
  2121. .TP
  2122. .B \fB\-Wmissing\-exported\-signatures\fP
  2123. warn about top\-level functions without signatures, only if they
  2124. are exported. takes precedence over \-Wmissing\-signatures
  2125. .TP
  2126. .B \fB\-Wmissing\-exported\-sigs\fP
  2127. \fI(deprecated)\fP
  2128. warn about top\-level functions without signatures, only if they
  2129. are exported. takes precedence over \-Wmissing\-signatures
  2130. .TP
  2131. .B \fB\-Wmissing\-fields\fP
  2132. warn when fields of a record are uninitialised
  2133. .TP
  2134. .B \fB\-Wmissing\-home\-modules\fP
  2135. warn when encountering a home module imported, but not listed
  2136. on the command line. Useful for cabal to ensure GHC won\(aqt pick
  2137. up modules, not listed neither in \fBexposed\-modules\fP, nor in
  2138. \fBother\-modules\fP\&.
  2139. .TP
  2140. .B \fB\-Wmissing\-import\-lists\fP
  2141. warn when an import declaration does not explicitly list all the
  2142. names brought into scope
  2143. .TP
  2144. .B \fB\-Wmissing\-local\-signatures\fP
  2145. warn about polymorphic local bindings without signatures
  2146. .TP
  2147. .B \fB\-Wmissing\-local\-sigs\fP
  2148. \fI(deprecated)\fP
  2149. warn about polymorphic local bindings without signatures
  2150. .TP
  2151. .B \fB\-Wmissing\-methods\fP
  2152. warn when class methods are undefined
  2153. .TP
  2154. .B \fB\-Wmissing\-monadfail\-instances\fP
  2155. Warn when a failable pattern is used in a do\-block that does
  2156. not have a \fBMonadFail\fP instance.
  2157. .TP
  2158. .B \fB\-Wmissing\-pattern\-synonym\-signatures\fP
  2159. warn when pattern synonyms do not have type signatures
  2160. .TP
  2161. .B \fB\-Wmissing\-signatures\fP
  2162. warn about top\-level functions without signatures
  2163. .TP
  2164. .B \fB\-Wmonomorphism\-restriction\fP
  2165. warn when the Monomorphism Restriction is applied
  2166. .TP
  2167. .B \fB\-Wname\-shadowing\fP
  2168. warn when names are shadowed
  2169. .TP
  2170. .B \fB\-Wno\-compat\fP
  2171. Disables all warnings enabled by \fB\-Wcompat\fP\&.
  2172. .TP
  2173. .B \fB\-Wnoncanonical\-monad\-instances\fP
  2174. warn when \fBApplicative\fP or \fBMonad\fP instances have
  2175. noncanonical definitions of \fBreturn\fP, \fBpure\fP, \fB(>>)\fP,
  2176. or \fB(*>)\fP\&.
  2177. See flag description in options\-sanity for more details.
  2178. .TP
  2179. .B \fB\-Wnoncanonical\-monadfail\-instances\fP
  2180. warn when \fBMonad\fP or \fBMonadFail\fP instances have
  2181. noncanonical definitions of \fBfail\fP\&.
  2182. See flag description in options\-sanity for more details.
  2183. .TP
  2184. .B \fB\-Wnoncanonical\-monoid\-instances\fP
  2185. warn when \fBSemigroup\fP or \fBMonoid\fP instances have
  2186. noncanonical definitions of \fB(<>)\fP or \fBmappend\fP\&.
  2187. See flag description in options\-sanity for more details.
  2188. .TP
  2189. .B \fB\-Worphans\fP
  2190. warn when the module contains orphan instance declarations
  2191. or rewrite rules
  2192. .TP
  2193. .B \fB\-Woverflowed\-literals\fP
  2194. warn about literals that will overflow their type
  2195. .TP
  2196. .B \fB\-Woverlapping\-patterns\fP
  2197. warn about overlapping patterns
  2198. .TP
  2199. .B \fB\-Wpartial\-fields\fP
  2200. warn when defining a partial record field.
  2201. .TP
  2202. .B \fB\-Wpartial\-type\-signatures\fP
  2203. warn about holes in partial type signatures when
  2204. \fBPartialTypeSignatures\fP is enabled. Not applicable when
  2205. \fBPartialTypeSignatures\fP is not enabled, in which case
  2206. errors are generated for such holes.
  2207. .TP
  2208. .B \fB\-Wredundant\-constraints\fP
  2209. Have the compiler warn about redundant constraints in type
  2210. signatures.
  2211. .TP
  2212. .B \fB\-Wredundant\-record\-wildcards\fP
  2213. Warn about record wildcard matches when the wildcard binds no patterns.
  2214. .TP
  2215. .B \fB\-Wsafe\fP
  2216. warn if the module being compiled is regarded to be safe.
  2217. .TP
  2218. .B \fB\-Wsemigroup\fP
  2219. warn when a \fBMonoid\fP is not \fBSemigroup\fP, and on non\-
  2220. \fBSemigroup\fP definitions of \fB(<>)\fP?
  2221. .TP
  2222. .B \fB\-Wsimplifiable\-class\-constraints\fP
  2223. Warn about class constraints in a type signature that can
  2224. be simplified using a top\-level instance declaration.
  2225. .TP
  2226. .B \fB\-Wspace\-after\-bang\fP
  2227. warn for missing space before the second argument
  2228. of an infix definition of \fB(!)\fP when
  2229. \fBBangPatterns\fP are not enabled
  2230. .TP
  2231. .B \fB\-Wstar\-binder\fP
  2232. warn about binding the \fB(*)\fP type operator despite
  2233. \fBStarIsType\fP
  2234. .TP
  2235. .B \fB\-Wstar\-is\-type\fP
  2236. warn when \fB*\fP is used to mean \fBData.Kind.Type\fP
  2237. .TP
  2238. .B \fB\-Wtabs\fP
  2239. warn if there are tabs in the source file
  2240. .TP
  2241. .B \fB\-Wtrustworthy\-safe\fP
  2242. warn if the module being compiled is marked as
  2243. \fBTrustworthy\fP but it could instead be marked as
  2244. \fBSafe\fP, a more informative bound.
  2245. .TP
  2246. .B \fB\-Wtype\-defaults\fP
  2247. warn when defaulting happens
  2248. .TP
  2249. .B \fB\-Wtyped\-holes\fP
  2250. Report warnings when typed hole errors are
  2251. deferred until runtime\&. See
  2252. \fB\-fdefer\-typed\-holes\fP\&.
  2253. .TP
  2254. .B \fB\-Wunbanged\-strict\-patterns\fP
  2255. warn on pattern bind of unlifted variable that is neither bare
  2256. nor banged
  2257. .TP
  2258. .B \fB\-Wunrecognised\-pragmas\fP
  2259. warn about uses of pragmas that GHC doesn\(aqt recognise
  2260. .TP
  2261. .B \fB\-Wunrecognised\-warning\-flags\fP
  2262. throw a warning when an unrecognised \fB\-W...\fP flag is
  2263. encountered on the command line.
  2264. .TP
  2265. .B \fB\-Wunsafe\fP
  2266. warn if the module being compiled is regarded to be unsafe.
  2267. See safe\-haskell
  2268. .TP
  2269. .B \fB\-Wunsupported\-calling\-conventions\fP
  2270. warn about use of an unsupported calling convention
  2271. .TP
  2272. .B \fB\-Wunsupported\-llvm\-version\fP
  2273. Warn when using \fB\-fllvm\fP with an unsupported
  2274. version of LLVM.
  2275. .TP
  2276. .B \fB\-Wunticked\-promoted\-constructors\fP
  2277. warn if promoted constructors are not ticked
  2278. .TP
  2279. .B \fB\-Wunused\-binds\fP
  2280. warn about bindings that are unused. Alias for
  2281. \fB\-Wunused\-top\-binds\fP, \fB\-Wunused\-local\-binds\fP and
  2282. \fB\-Wunused\-pattern\-binds\fP
  2283. .TP
  2284. .B \fB\-Wunused\-do\-bind\fP
  2285. warn about do bindings that appear to throw away values of types
  2286. other than \fB()\fP
  2287. .TP
  2288. .B \fB\-Wunused\-foralls\fP
  2289. warn about type variables in user\-written
  2290. \fBforall\fP\es that are unused
  2291. .TP
  2292. .B \fB\-Wunused\-imports\fP
  2293. warn about unnecessary imports
  2294. .TP
  2295. .B \fB\-Wunused\-local\-binds\fP
  2296. warn about local bindings that are unused
  2297. .TP
  2298. .B \fB\-Wunused\-matches\fP
  2299. warn about variables in patterns that aren\(aqt used
  2300. .TP
  2301. .B \fB\-Wunused\-packages\fP
  2302. warn when package is requested on command line, but was never loaded.
  2303. .TP
  2304. .B \fB\-Wunused\-pattern\-binds\fP
  2305. warn about pattern match bindings that are unused
  2306. .TP
  2307. .B \fB\-Wunused\-record\-wildcards\fP
  2308. Warn about record wildcard matches when none of the bound variables
  2309. are used.
  2310. .TP
  2311. .B \fB\-Wunused\-top\-binds\fP
  2312. warn about top\-level bindings that are unused
  2313. .TP
  2314. .B \fB\-Wunused\-type\-patterns\fP
  2315. warn about unused type variables which arise from patterns in
  2316. in type family and data family instances
  2317. .TP
  2318. .B \fB\-Wwarn\fP
  2319. make warnings non\-fatal
  2320. .TP
  2321. .B \fB\-Wwarnings\-deprecations\fP
  2322. warn about uses of functions & types that have warnings or
  2323. deprecated pragmas
  2324. .TP
  2325. .B \fB\-Wwrong\-do\-bind\fP
  2326. warn about do bindings that appear to throw away monadic values
  2327. that you should have bound instead
  2328. .UNINDENT
  2329. .SH COPYRIGHT
  2330. .sp
  2331. Copyright 2015. The University Court of the University of Glasgow.
  2332. All rights reserved.
  2333. .SH AUTHOR
  2334. The GHC Team
  2335. .SH COPYRIGHT
  2336. 2015, GHC Team
  2337. .\" Generated by docutils manpage writer.
  2338. .