1GHC(1)                     Glasgow Haskell Compiler                     GHC(1)
2
3
4

NAME

6       GHC - the Glasgow Haskell Compiler
7
8
9

SYNOPSIS

11       ghc [option|filename]...
12       ghci [option|filename]...
13
14

DESCRIPTION

16       This  manual  page  documents  briefly the ghc and ghci commands.  Note
17       that ghci is not yet available on all architectures.   Extensive  docu‐
18       mentation  is  available  in various other formats including DVI, Post‐
19       Script and HTML; see below.
20
21
22       Each of GHC's command line options is classified as  either  static  or
23       dynamic.   A  static  flag  may  only be specified on the command line,
24       whereas a dynamic flag may also be given in  an  OPTIONS  pragma  in  a
25       source file or set from the GHCi command-line with :set.
26
27       As  a  rule  of thumb, all the language options are dynamic, as are the
28       warning options and the debugging options.
29
30       The rest are static, with the notable exceptions of  -v,  -cpp,  -fasm,
31       -fvia-C,  and -#include.  The OPTIONS sections lists the status of each
32       flag.
33
34
35       Common suffixes of file names for Haskell are:
36
37       .hs    Haskell source code; preprocess, compile
38
39       .lhs   literate Haskell source; unlit, preprocess, compile
40
41       .hi    Interface file; contains information about exported symbols
42
43       .hc    intermediate C files
44
45       .x_o   way x object files; common ways are: p, u, s
46
47       .x_hi  way x interface files
48
49
50

OPTIONS

52   Help and verbosity options
53       -?    -help    -n    -v    -vn    -V    --version     --numeric-version
54       --print-libdir  -ferror-spans  -Hsize  -Rghc-timing
55
56
57   Which phases to run
58       -E  -C  -S  -c  -x suffix
59
60
61   Alternative modes of operation
62       --interactive  --make  -e expr  -M
63
64
65   Redirecting output
66       -hcsuf  suffix  -hidir dir  -hisuf suffix  -o filename  -odir dir  -ohi
67       filename   -osuf suffix  -stubdir dir
68
69
70   Keeping intermediate files
71       -keep-hc-file  -keep-s-file  -keep-raw-s-file  -keep-tmp-files
72
73
74   Temporary files
75       -tmpdir
76
77
78   Finding imports
79       -idir1:dir2:...  -i
80
81
82   Interface file options
83       -ddump-hi  -ddump-hi-diffs  -ddump-minimal-imports  --show-iface file
84
85
86   Recompilation checking
87       -fforce-recomp -fno-force-recomp
88
89
90   Interactive-mode options
91       -ignore-dot-ghci  -read-dot-ghci
92
93
94   Packages
95       -package-name P  -package  P   -hide-all-packages   -hide-package  name
96       -ignore-package name  -package-conf file  -no-user-package-conf
97
98
99   Language options
100       -fallow-overlapping-instances          -fno-allow-overlapping-instances
101       -fallow-incoherent-instances            -fno-allow-incoherent-instances
102       -fallow-undecidable-instances          -fno-allow-undecidable-instances
103       -fcontext-stack=Nn 20  -farrows -fno-arrows   -ffi  or  -fffi  -fno-ffi
104       -fgenerics     -fno-fgenerics      -fglasgow-exts     -fno-glasgow-exts
105       -fimplicit-params      -fno-implicit-params        -firrefutable-tuples
106       -fno-irrefutable-tuples     -fno-implicit-prelude    -fimplicit-prelude
107       -fno-monomorphism-restriction                -fmonomorphism-restriction
108       -fno-mono-pat-binds      -fmono-pat-binds      -fextended-default-rules
109       -fno-extended-default-rules                     -fscoped-type-variables
110       -fno-scoped-type-variables       -fth      -fno-th      -fbang-patterns
111       -fno-bang-patterns
112
113
114   Warnings
115       -W    -w     -w     -Wall     -w      -Werror       -fwarn-deprecations
116       -fno-warn-deprecations                         -fwarn-duplicate-exports
117       -fno-warn-duplicate-exports  -fwarn-hi-shadowing -fno-warn-hi-shadowing
118       -fwarn-incomplete-patterns                -fno-warn-incomplete-patterns
119       -fwarn-incomplete-record-updates    -fno-warn-incomplete-record-updates
120       -fwarn-missing-fields  -fno-warn-missing-fields  -fwarn-missing-methods
121       -fno-warn-missing-methods                     -fwarn-missing-signatures
122       -fno-warn-missing-signatures                      -fwarn-name-shadowing
123       -fno-warn-name-shadowing        -fwarn-orphans        -fno-warn-orphans
124       -fwarn-overlapping-patterns              -fno-warn-overlapping-patterns
125       -fwarn-simple-patterns -fno-warn-simple-patterns   -fwarn-type-defaults
126       -fno-warn-type-defaults    -fwarn-unused-binds   -fno-warn-unused-binds
127       -fwarn-unused-imports  -fno-warn-unused-imports   -fwarn-unused-matches
128       -fno-warn-unused-matches
129
130
131   Optimisation levels
132       -O -O0  -On -O0
133
134
135   Individual optimisations
136       -fcase-merge    -fno-case-merge     -fdicts-strict    -fno-dicts-strict
137       -fdo-eta-reduction   -fno-do-eta-reduction    -fdo-lambda-eta-expansion
138       -fno-do-lambda-eta-expansion   -fexcess-precision -fno-excess-precision
139       -frules-off    -frules-off     -fignore-asserts     -fno-ignore-asserts
140       -fignore-interface-pragmas                -fno-ignore-interface-pragmas
141       -fliberate-case-threshold                  -fno-liberate-case-threshold
142       -fomit-interface-pragmas -fno-omit-interface-pragmas  -fmax-worker-args
143       -fmax-simplifier-iterations          -fno-state-hack           -fno-cse
144       -fno-full-laziness           -fno-pre-inlining          -fno-strictness
145       -funbox-strict-fields                          -fno-unbox-strict-fields
146       -funfolding-creation-threshold        -fno-unfolding-creation-threshold
147       -funfolding-fun-discount                    -fno-unfolding-fun-discount
148       -funfolding-keeness-factor                -fno-unfolding-keeness-factor
149       -funfolding-update-in-place              -fno-unfolding-update-in-place
150       -funfolding-use-threshold -fno-unfolding-use-threshold
151
152
153   Profiling options
154       -auto  -no-auto   -auto-all  -no-auto-all   -caf-all -no-caf-all  -prof
155       -ticky
156
157
158   Haskell pre-processor options
159       -F
160
161
162   C pre-processor options
163       -cpp  -Dsymbol=value -U  -Usymbol  -Idir
164
165
166   C compiler options
167       -#include file
168
169
170   Code generation options
171       -fasm   -fvia-C   -fno-code
172
173
174   Linking options
175       -fPIC  -dynamic  -framework name  -framework-path  name   -llib   -Ldir
176       -main-is    --mk-dll    -no-hs-main    -no-link   -split-objs   -static
177       -threaded  -debug
178
179
180   Replacing phases
181       -pgmL cmd  -pgmP cmd  -pgmc cmd  -pgmm cmd  -pgms cmd  -pgma cmd  -pgml
182       cmd  -pgmdll cmd  -pgmF cmd
183
184
185   Forcing options to particular phases
186       -optL  option   -optP  option  -optF option  -optc option  -optm option
187       -opta option  -optl option  -optdll option  -optdep option
188
189
190   Platform-specific options
191       -monly-[432]-regs
192
193
194   External core file options
195       -fext-core
196
197
198   Compiler debugging options
199       -dcore-lint   -ddump-asm    -ddump-bcos    -ddump-cmm    -ddump-cpranal
200       -ddump-cse    -ddump-deriv    -ddump-ds   -ddump-flatC   -ddump-foreign
201       -ddump-inlinings   -ddump-occur-anal    -ddump-opt-cmm    -ddump-parsed
202       -ddump-prep         -ddump-rn         -ddump-rules         -ddump-simpl
203       -ddump-simpl-iterations    -ddump-spec    -ddump-splices     -ddump-stg
204       -ddump-stranal     -ddump-tc     -ddump-types     -ddump-worker-wrapper
205       -ddump-if-trace   -ddump-tc-trace    -ddump-rn-trace    -ddump-rn-stats
206       -ddump-simpl-stats    -dppr-debug    -dppr-noprags    -dppr-user-length
207       -dsource-stats        -dcmm-lint         -dstg-lint         -dstg-stats
208       -dverbose-core2core           -dverbose-stg2stg           -dshow-passes
209       -dfaststring-stats  -unreg
210
211
212   Misc compiler options
213       -fno-hi-version-check       -dno-black-holing       -fno-method-sharing
214       -fhistory-size            -funregisterised            -fno-asm-mangling
215       -fno-print-bind-result
216
217
218

HELP AND VERBOSITY OPTIONS

220       -?     help
221                                                                        [mode]
222
223
224       -help  help
225                                                                        [mode]
226
227
228       -n     do a dry run
229                                                                     [dynamic]
230
231
232       -v     verbose mode (equivalent to -v3)
233                                                                     [dynamic]
234
235
236       -vn    set verbosity level
237                                                                     [dynamic]
238
239
240       -V     display GHC version
241                                                                        [mode]
242
243
244       --version
245              display GHC version
246                                                                        [mode]
247
248
249       --numeric-version
250              display GHC version (numeric only)
251                                                                        [mode]
252
253
254       --print-libdir
255              display GHC library directory
256                                                                        [mode]
257
258
259       -ferror-spans
260              output full span in error messages
261                                                                      [static]
262
263
264       -Hsize Set the minimum heap size to size
265                                                                      [static]
266
267
268       -Rghc-timing
269              Summarise timing stats for GHC (same as +RTS -tstderr)
270                                                                      [static]
271
272
273

WHICH PHASES TO RUN

275       -E     Stop after preprocessing (.hspp file)
276                                                                        [mode]
277
278
279       -C     Stop after generating C (.hc file)
280                                                                        [mode]
281
282
283       -S     Stop after generating assembly (.s file)
284                                                                        [mode]
285
286
287       -c     Do not link
288                                                                     [dynamic]
289
290
291       -x suffix
292              Override default behaviour for source files
293                                                                      [static]
294
295
296

ALTERNATIVE MODES OF OPERATION

298       --interactive
299              Interactive mode - normally used by just running ghci
300                                                                        [mode]
301
302
303       --make Build a multi-module Haskell program, automatically figuring out
304              dependencies.  Likely  to be much easier, and faster, than using
305              make.
306                                                                        [mode]
307
308
309       -e expr
310              Evaluate expr
311                                                                        [mode]
312
313
314       -M     Generate dependency information suitable for use in a Makefile.
315                                                                        [mode]
316
317
318

REDIRECTING OUTPUT

320       -hcsuf suffix
321              set the suffix to use for intermediate C files
322                                                                     [dynamic]
323
324
325       -hidir dir
326              set directory for interface files
327                                                                     [dynamic]
328
329
330       -hisuf suffix
331              set the suffix to use for interface files
332                                                                     [dynamic]
333
334
335       -o filename
336              set output filename
337                                                                     [dynamic]
338
339
340       -odir dir
341              set output directory
342                                                                     [dynamic]
343
344
345       -ohi filename
346              set the filename in which to put the interface
347                                                                     [dynamic]
348
349
350       -osuf suffix
351              set the output file suffix
352                                                                     [dynamic]
353
354
355       -stubdir dir
356              redirect FFi stub files
357                                                                     [dynamic]
358
359
360

KEEPING INTERMEDIATE FILES

362       -keep-hc-file
363              retain intermediate .hc files
364                                                                     [dynamic]
365
366
367       -keep-s-file
368              retain intermediate .s files
369                                                                     [dynamic]
370
371
372       -keep-raw-s-file
373              retain intermediate .raw_s files
374                                                                     [dynamic]
375
376
377       -keep-tmp-files
378              retain all intermediate temporary files
379                                                                     [dynamic]
380
381
382

TEMPORARY FILES

384       -tmpdir
385              set the directory for temporary files
386                                                                     [dynamic]
387
388
389

FINDING IMPORTS

391       -idir1:dir2:...
392              add dir, dir2, etc. to import path
393                                                                 [static/:set]
394
395
396       -i     Empty the import directory list
397                                                                 [static/:set]
398
399
400

INTERFACE FILE OPTIONS

402       -ddump-hi
403              Dump the new interface to stdout
404                                                                     [dynamic]
405
406
407       -ddump-hi-diffs
408              Show the differences vs. the old interface
409                                                                     [dynamic]
410
411
412       -ddump-minimal-imports
413              Dump a minimal set of imports
414                                                                     [dynamic]
415
416
417       --show-iface file
418              Read the interface in file and dump it as text to stdout.
419                                                                        [mode]
420
421
422

RECOMPILATION CHECKING

424       -fforce-recomp
425              Turn off recompilation checking; implied by any -ddump-X option
426                                                                     [dynamic]
427
428
429

INTERACTIVE-MODE OPTIONS

431       -ignore-dot-ghci
432              Disable reading of .ghci files
433                                                                      [static]
434
435
436       -read-dot-ghci
437              Enable reading of .ghci files
438                                                                      [static]
439
440
441

PACKAGES

443       -package-name P
444              Compile to be part of package P
445                                                                     [dynamic]
446
447
448       -package P
449              Expose package P
450                                                                 [static/:set]
451
452
453       -hide-all-packages
454              Hide all packages by default
455                                                                      [static]
456
457
458       -hide-package name
459              Hide package P
460                                                                 [static/:set]
461
462
463       -ignore-package name
464              Ignore package P
465                                                                 [static/:set]
466
467
468       -package-conf file
469              Load more packages from file
470                                                                      [static]
471
472
473       -no-user-package-conf
474              Don't load the user's package config file.
475                                                                      [static]
476
477
478

LANGUAGE OPTIONS

480       -fallow-overlapping-instances
481              Enable overlapping instances
482                                                                     [dynamic]
483
484
485       -fallow-incoherent-instances
486              Enable  incoherent  instances.  Implies  -fallow-overlapping-in‐
487              stances
488                                                                     [dynamic]
489
490
491       -fallow-undecidable-instances
492              Enable undecidable instances
493                                                                     [dynamic]
494
495
496       -fcontext-stack=Nn
497              set the limit for context reduction
498                                                                     [dynamic]
499
500
501       -farrows
502              Enable arrow notation extension
503                                                                     [dynamic]
504
505
506       -ffi or -fffi
507              Enable foreign function interface (implied by -fglasgow-exts)
508                                                                     [dynamic]
509
510
511       -fgenerics
512              Enable generic classes
513                                                                     [dynamic]
514
515
516       -fglasgow-exts
517              Enable most language extensions
518                                                                     [dynamic]
519
520
521       -fimplicit-params
522              Enable Implicit Parameters. Implied by -fglasgow-exts.
523                                                                     [dynamic]
524
525
526       -firrefutable-tuples
527              Make tuple pattern matching irrefutable
528                                                                     [dynamic]
529
530
531       -fno-implicit-prelude
532              Don't implicitly import Prelude
533                                                                     [dynamic]
534
535
536       -fno-monomorphism-restriction
537              Disable the monomorphism restriction
538                                                                     [dynamic]
539
540
541       -fno-mono-pat-binds
542              Make pattern bindings polymorphic
543                                                                     [dynamic]
544
545
546       -fextended-default-rules
547              Use GHCi's extended default rules in a normal module
548                                                                     [dynamic]
549
550
551       -fscoped-type-variables
552              Enable  lexically-scoped  type  variables.  Implied  by  -fglas‐
553              gow-exts.
554                                                                     [dynamic]
555
556
557       -fth   Enable Template Haskell. No longer implied by -fglasgow-exts.
558                                                                     [dynamic]
559
560
561       -fbang-patterns
562              Enable bang patterns.
563                                                                     [dynamic]
564
565
566

WARNINGS

568       -W     enable normal warnings
569                                                                     [dynamic]
570
571
572       -w     disable all warnings
573                                                                     [dynamic]
574
575
576       -Wall  enable all warnings
577                                                                     [dynamic]
578
579
580       -Werror
581              make warnings fatal
582                                                                     [dynamic]
583
584
585       -fwarn-deprecations
586              warn about uses of functions & types that are deprecated
587                                                                     [dynamic]
588
589
590       -fwarn-duplicate-exports
591              warn when an entity is exported multiple times
592                                                                     [dynamic]
593
594
595       -fwarn-hi-shadowing
596              warn when a .hi file in the current directory shadows a library
597                                                                     [dynamic]
598
599
600       -fwarn-incomplete-patterns
601              warn when a pattern match could fail
602                                                                     [dynamic]
603
604
605       -fwarn-incomplete-record-updates
606              warn when a record update could fail
607                                                                     [dynamic]
608
609
610       -fwarn-missing-fields
611              warn when fields of a record are uninitialised
612                                                                     [dynamic]
613
614
615       -fwarn-missing-methods
616              warn when class methods are undefined
617                                                                     [dynamic]
618
619
620       -fwarn-missing-signatures
621              warn about top-level functions without signatures
622                                                                     [dynamic]
623
624
625       -fwarn-name-shadowing
626              warn when names are shadowed
627                                                                     [dynamic]
628
629
630       -fwarn-orphans
631              warn when the module contains "orphan" instance declarations  or
632              rewrite rules
633                                                                     [dynamic]
634
635
636       -fwarn-overlapping-patterns
637              warn about overlapping patterns
638                                                                     [dynamic]
639
640
641       -fwarn-simple-patterns
642              warn about lambda-patterns that can fail
643                                                                     [dynamic]
644
645
646       -fwarn-type-defaults
647              warn when defaulting happens
648                                                                     [dynamic]
649
650
651       -fwarn-unused-binds
652              warn about bindings that are unused
653                                                                     [dynamic]
654
655
656       -fwarn-unused-imports
657              warn about unnecessary imports
658                                                                     [dynamic]
659
660
661       -fwarn-unused-matches
662              warn about variables in patterns that aren't used
663                                                                     [dynamic]
664
665
666

OPTIMISATION LEVELS

668       -O     Enable default optimisation (level 1)
669                                                                     [dynamic]
670
671
672       -On    Set optimisation level n
673                                                                     [dynamic]
674
675
676

INDIVIDUAL OPTIMISATIONS

678       -fcase-merge
679              Enable case-merging
680                                                                     [dynamic]
681
682
683       -fdicts-strict
684              Make dictionaries strict
685                                                                      [static]
686
687
688       -fdo-eta-reduction
689              Enable eta-reduction
690                                                                     [dynamic]
691
692
693       -fdo-lambda-eta-expansion
694              Enable lambda eta-reduction
695                                                                     [dynamic]
696
697
698       -fexcess-precision
699              Enable excess intermediate precision
700                                                                     [dynamic]
701
702
703       -frules-off
704              Switch off all rewrite rules (including rules generated by auto‐
705              matic specialisation of overloaded functions)
706                                                                      [static]
707
708
709       -fignore-asserts
710              Ignore assertions in the source
711                                                                     [dynamic]
712
713
714       -fignore-interface-pragmas
715              Ignore pragmas in interface files
716                                                                     [dynamic]
717
718
719       -fliberate-case-threshold
720              Tweak the liberate-case optimisation (default: 10)
721                                                                      [static]
722
723
724       -fomit-interface-pragmas
725              Don't generate interface pragmas
726                                                                     [dynamic]
727
728
729       -fmax-worker-args
730              If a worker has that many arguments, none will be unpacked  any‐
731              more (default: 10)
732                                                                      [static]
733
734
735       -fmax-simplifier-iterations
736              Set the max iterations for the simplifier
737                                                                     [dynamic]
738
739
740       -fno-state-hack
741              Turn  off  the "state hack" whereby any lambda with a real-world
742              state token as argument is considered to be single-entry.  Hence
743              OK to inline things inside it.
744                                                                      [static]
745
746
747       -fno-cse
748              Turn off common sub-expression
749                                                                     [dynamic]
750
751
752       -fno-full-laziness
753              Turn off full laziness (floating bindings outwards).
754                                                                     [dynamic]
755
756
757       -fno-pre-inlining
758              Turn off pre-inlining
759                                                                      [static]
760
761
762       -fno-strictness
763              Turn off strictness analysis
764                                                                     [dynamic]
765
766
767       -funbox-strict-fields
768              Flatten strict constructor fields
769                                                                     [dynamic]
770
771
772       -funfolding-creation-threshold
773              Tweak unfolding settings
774                                                                      [static]
775
776
777       -funfolding-fun-discount
778              Tweak unfolding settings
779                                                                      [static]
780
781
782       -funfolding-keeness-factor
783              Tweak unfolding settings
784                                                                      [static]
785
786
787       -funfolding-update-in-place
788              Tweak unfolding settings
789                                                                      [static]
790
791
792       -funfolding-use-threshold
793              Tweak unfolding settings
794                                                                      [static]
795
796
797

PROFILING OPTIONS

799       -auto  Auto-add _scc_s to all exported functions
800                                                                      [static]
801
802
803       -auto-all
804              Auto-add _scc_s to all top-level functions
805                                                                      [static]
806
807
808       -caf-all
809              Auto-add _scc_s to all CAFs
810                                                                      [static]
811
812
813       -prof  Turn on profiling
814                                                                      [static]
815
816
817       -ticky Turn on ticky-ticky profiling
818                                                                      [static]
819
820
821

HASKELL PRE-PROCESSOR OPTIONS

823       -F     Enable the use of a pre-processor (set with -pgmF)
824                                                                     [dynamic]
825
826
827

C PRE-PROCESSOR OPTIONS

829       -cpp   Run the C pre-processor on Haskell source files
830                                                                     [dynamic]
831
832
833       -Dsymbol=value
834              Define a symbol in the C pre-processor
835                                                                     [dynamic]
836
837
838       -Usymbol
839              Undefine a symbol in the C pre-processor
840                                                                     [dynamic]
841
842
843       -Idir  Add dir to the directory search list for #include files
844                                                                     [dynamic]
845
846
847

C COMPILER OPTIONS

849       -#include file
850              Include file when compiling the .hc file
851                                                                     [dynamic]
852
853
854

CODE GENERATION OPTIONS

856       -fasm  Use the native code generator
857                                                                     [dynamic]
858
859
860       -fvia-C
861              Compile via C
862                                                                     [dynamic]
863
864
865       -fno-code
866              Omit code generation
867                                                                        [mode]
868
869
870

LINKING OPTIONS

872       -fPIC  Generate position-independent code (where available)
873                                                                      [static]
874
875
876       -dynamic
877              Use dynamic Haskell libraries (if available)
878                                                                      [static]
879
880
881       -framework name
882              On  Darwin/MacOS X only, link in the framework name. This option
883              corresponds to the -framework option for Apple's Linker.
884                                                                     [dynamic]
885
886
887       -framework-path name
888              On Darwin/MacOS X only, add  dir  to  the  list  of  directories
889              searched  for  frameworks. This option corresponds to the -F op‐
890              tion for Apple's Linker.
891                                                                     [dynamic]
892
893
894       -llib  Link in library lib
895                                                                     [dynamic]
896
897
898       -Ldir  Add dir to the list of directories searched for libraries
899                                                                     [dynamic]
900
901
902       -main-is
903              Set main module and function
904                                                                     [dynamic]
905
906
907       --mk-dll
908              DLL-creation mode (Windows only)
909                                                                     [dynamic]
910
911
912       -no-hs-main
913              Don't assume this program contains main
914                                                                     [dynamic]
915
916
917       -no-link
918              Omit linking
919                                                                     [dynamic]
920
921
922       -split-objs
923              Split objects (for libraries)
924                                                                     [dynamic]
925
926
927       -static
928              Use static Haskell libraries
929                                                                      [static]
930
931
932       -threaded
933              Use the threaded runtime
934                                                                      [static]
935
936
937       -debug Use the debugging runtime
938                                                                      [static]
939
940
941

REPLACING PHASES

943       -pgmL cmd
944              Use cmd as the literate pre-processor
945                                                                     [dynamic]
946
947
948       -pgmP cmd
949              Use cmd as the C pre-processor (with -cpp only)
950                                                                     [dynamic]
951
952
953       -pgmc cmd
954              Use cmd as the C compiler
955                                                                     [dynamic]
956
957
958       -pgmm cmd
959              Use cmd as the mangler
960                                                                     [dynamic]
961
962
963       -pgms cmd
964              Use cmd as the splitter
965                                                                     [dynamic]
966
967
968       -pgma cmd
969              Use cmd as the assembler
970                                                                     [dynamic]
971
972
973       -pgml cmd
974              Use cmd as the linker
975                                                                     [dynamic]
976
977
978       -pgmdll cmd
979              Use cmd as the DLL generator
980                                                                     [dynamic]
981
982
983       -pgmF cmd
984              Use cmd as the pre-processor (with -F only)
985                                                                     [dynamic]
986
987
988

FORCING OPTIONS TO PARTICULAR PHASES

990       -optL option
991              pass option to the literate pre-processor
992                                                                     [dynamic]
993
994
995       -optP option
996              pass option to cpp (with -cpp only)
997                                                                     [dynamic]
998
999
1000       -optF option
1001              pass option to the custom pre-processor
1002                                                                     [dynamic]
1003
1004
1005       -optc option
1006              pass option to the C compiler
1007                                                                     [dynamic]
1008
1009
1010       -optm option
1011              pass option to the mangler
1012                                                                     [dynamic]
1013
1014
1015       -opta option
1016              pass option to the assembler
1017                                                                     [dynamic]
1018
1019
1020       -optl option
1021              pass option to the linker
1022                                                                     [dynamic]
1023
1024
1025       -optdll option
1026              pass option to the DLL generator
1027                                                                     [dynamic]
1028
1029
1030       -optdep option
1031              pass option to the dependency generator
1032                                                                     [dynamic]
1033
1034
1035

PLATFORM-SPECIFIC OPTIONS

1037       -monly-[432]-regs
1038              (x86 only) give some registers back to the C compiler
1039                                                                     [dynamic]
1040
1041
1042

EXTERNAL CORE FILE OPTIONS

1044       -fext-core
1045              Generate .hcr external Core files
1046                                                                      [static]
1047
1048
1049

COMPILER DEBUGGING OPTIONS

1051       -dcore-lint
1052              Turn on internal sanity checking
1053                                                                     [dynamic]
1054
1055
1056       -ddump-asm
1057              Dump assembly
1058                                                                     [dynamic]
1059
1060
1061       -ddump-bcos
1062              Dump interpreter byte code
1063                                                                     [dynamic]
1064
1065
1066       -ddump-cmm
1067              Dump C-- output
1068                                                                     [dynamic]
1069
1070
1071       -ddump-cpranal
1072              Dump output from CPR analysis
1073                                                                     [dynamic]
1074
1075
1076       -ddump-cse
1077              Dump CSE output
1078                                                                     [dynamic]
1079
1080
1081       -ddump-deriv
1082              Dump deriving output
1083                                                                     [dynamic]
1084
1085
1086       -ddump-ds
1087              Dump desugarer output
1088                                                                     [dynamic]
1089
1090
1091       -ddump-flatC
1092              Dump `flat' C
1093                                                                     [dynamic]
1094
1095
1096       -ddump-foreign
1097              Dump foreign export stubs
1098                                                                     [dynamic]
1099
1100
1101       -ddump-inlinings
1102              Dump inlining info
1103                                                                     [dynamic]
1104
1105
1106       -ddump-occur-anal
1107              Dump occurrence analysis output
1108                                                                     [dynamic]
1109
1110
1111       -ddump-opt-cmm
1112              Dump the results of C-- to C-- optimising passes
1113                                                                     [dynamic]
1114
1115
1116       -ddump-parsed
1117              Dump parse tree
1118                                                                     [dynamic]
1119
1120
1121       -ddump-prep
1122              Dump prepared core
1123                                                                     [dynamic]
1124
1125
1126       -ddump-rn
1127              Dump renamer output
1128                                                                     [dynamic]
1129
1130
1131       -ddump-rules
1132              Dump rules
1133                                                                     [dynamic]
1134
1135
1136       -ddump-simpl
1137              Dump final simplifier output
1138                                                                     [dynamic]
1139
1140
1141       -ddump-simpl-iterations
1142              Dump output from each simplifier iteration
1143                                                                     [dynamic]
1144
1145
1146       -ddump-spec
1147              Dump specialiser output
1148                                                                     [dynamic]
1149
1150
1151       -ddump-splices
1152              Dump TH splided expressions, and what they evaluate to
1153                                                                     [dynamic]
1154
1155
1156       -ddump-stg
1157              Dump final STG
1158                                                                     [dynamic]
1159
1160
1161       -ddump-stranal
1162              Dump strictness analyser output
1163                                                                     [dynamic]
1164
1165
1166       -ddump-tc
1167              Dump typechecker output
1168                                                                     [dynamic]
1169
1170
1171       -ddump-types
1172              Dump type signatures
1173                                                                     [dynamic]
1174
1175
1176       -ddump-worker-wrapper
1177              Dump worker-wrapper output
1178                                                                     [dynamic]
1179
1180
1181       -ddump-if-trace
1182              Trace interface files
1183                                                                     [dynamic]
1184
1185
1186       -ddump-tc-trace
1187              Trace typechecker
1188                                                                     [dynamic]
1189
1190
1191       -ddump-rn-trace
1192              Trace renamer
1193                                                                     [dynamic]
1194
1195
1196       -ddump-rn-stats
1197              Renamer stats
1198                                                                     [dynamic]
1199
1200
1201       -ddump-simpl-stats
1202              Dump simplifier stats
1203                                                                     [dynamic]
1204
1205
1206       -dppr-debug
1207              Turn on debug printing (more verbose)
1208                                                                      [static]
1209
1210
1211       -dppr-noprags
1212              Don't output pragma info in dumps
1213                                                                      [static]
1214
1215
1216       -dppr-user-length
1217              Set the depth for printing expressions in error msgs
1218                                                                      [static]
1219
1220
1221       -dsource-stats
1222              Dump haskell source stats
1223                                                                     [dynamic]
1224
1225
1226       -dcmm-lint
1227              C-- pass sanity checking
1228                                                                     [dynamic]
1229
1230
1231       -dstg-lint
1232              STG pass sanity checking
1233                                                                     [dynamic]
1234
1235
1236       -dstg-stats
1237              Dump STG stats
1238                                                                     [dynamic]
1239
1240
1241       -dverbose-core2core
1242              Show output from each core-to-core pass
1243                                                                     [dynamic]
1244
1245
1246       -dverbose-stg2stg
1247              Show output from each STG-to-STG pass
1248                                                                     [dynamic]
1249
1250
1251       -dshow-passes
1252              Print out each pass name as it happens
1253                                                                     [dynamic]
1254
1255
1256       -dfaststring-stats
1257              Show statistics for fast string usage when finished
1258                                                                     [dynamic]
1259
1260
1261       -unreg Enable unregisterised compilation
1262                                                                      [static]
1263
1264
1265

MISC COMPILER OPTIONS

1267       -fno-hi-version-check
1268              Don't complain about .hi file mismatches
1269                                                                      [static]
1270
1271
1272       -dno-black-holing
1273              Turn off black holing (probably doesn't work)
1274                                                                      [static]
1275
1276
1277       -fno-method-sharing
1278              Don't share specialisations of overloaded functions
1279                                                                      [static]
1280
1281
1282       -fhistory-size
1283              Set simplification history size
1284                                                                      [static]
1285
1286
1287       -funregisterised
1288              Unregisterised compilation (use -unreg instead)
1289                                                                      [static]
1290
1291
1292       -fno-asm-mangling
1293              Turn off assembly mangling (use -unreg instead)
1294                                                                     [dynamic]
1295
1296
1297       -fno-print-bind-result
1298              Turn off printing of binding results in GHCi
1299                                                                     [dynamic]
1300
1301
1302
1303

FILES

1305       /usr/lib64/ghc-6.6.1
1306
1308       Copyright 2002, The University Court of the University of Glasgow.
1309       All rights reserved.
1310
1311
1312

AUTHOR

1314       This manual page was generated from the XML documentation of  GHC  with
1315       blood,  sweat,  tears  and a breaks-if-you-look-at-it-the-wrong-way XSL
1316       stylesheet originally written by  Michael  Weber  <michaelw@debian.org>
1317       for the Debian GNU/Linux system (but may be used by others).
1318
1319
1320
1321
1322Glasgow FP Suite                  2002-10-25                            GHC(1)
Impressum