ghc man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

GHC(1)			   Glasgow Haskell Compiler			GHC(1)

NAME
       GHC - the Glasgow Haskell Compiler

SYNOPSIS
       ghc [option|filename]...
       ghci [option|filename]...

DESCRIPTION
       This  manual  page  documents  briefly the ghc and ghci commands.  Note
       that ghci is not yet available on all architectures.   Extensive	 docu‐
       mentation  is  available	 in various other formats including DVI, Post‐
       Script and HTML; see below.

       Each of GHC's command line options is classified as  either  static  or
       dynamic.	  A  static  flag  may	only be specified on the command line,
       whereas a dynamic flag may also be given in  an	OPTIONS	 pragma	 in  a
       source file or set from the GHCi command-line with :set.

       As  a  rule  of thumb, all the language options are dynamic, as are the
       warning options and the debugging options.

       The rest are static, with the notable exceptions of  -v,	 -cpp,	-fasm,
       -fvia-C, -fllvm, and " -#include .  The OPTIONS sections lists the sta‐
       tus of each flag.

       Common suffixes of file names for Haskell are:

       .hs    Haskell source code; preprocess, compile

       .lhs   literate Haskell source; unlit, preprocess, compile

       .hi    Interface file; contains information about exported symbols

       .hc    intermediate C files

       .x_o   way x object files; common ways are: p, u, s

       .x_hi  way x interface files

OPTIONS
   Verbosity options
       -v      -vn	-fprint-explicit-foralls	-fprint-explicit-kinds
       -ferror-spans  -Hsize  -Rghc-timing

   Alternative modes of operation
       --help,-?    --interactive    --make    -e   expr    --show-iface    -M
       --supported-extensions, --supported-languages   --show-options	--info
       --version, -V  --numeric-version	 --print-libdir

   Which phases to run
       -E  -C  -S  -c  -x suffix

   Redirecting output
       -hcsuf  suffix  -hidir dir  -hisuf suffix  -o filename  -odir dir  -ohi
       filename	  -osuf suffix	-stubdir dir  -dumpdir dir  -outputdir dir

   Keeping intermediate files
       -keep-hc-file or
		     -keep-hc-files  -keep-llvm-file or
		     -keep-llvm-files  -keep-s-file or
		     -keep-s-files  -keep-tmp-files

   Temporary files
       -tmpdir

   Finding imports
       -idir1:dir2:...	-i

   Interface file options
       -ddump-hi  -ddump-hi-diffs  -ddump-minimal-imports  --show-iface file

   Recompilation checking
       -fforce-recomp -fno-force-recomp

   Interactive-mode options
       -ignore-dot-ghci	  -ghci-script	 -fbreak-on-error  -fno-break-on-error
       -fbreak-on-exception	-fno-break-on-exception	    -fghci-hist-size=n
       (default	 is  50)    -fprint-evld-with-show   -fno-print-evld-with-show
       -fprint-bind-result   -fno-print-bind-result   -fno-print-bind-contents
       -fno-implicit-import-qualified  -interactive-print

   Packages
       -this-package-key P  -package P	-hide-all-packages  -hide-package name
       -ignore-package	   name	     -package-db    file     -clear-package-db
       -no-global-package-db	  -global-package-db	   -no-user-package-db
       -user-package-db	   -no-auto-link-packages    -trust   P	  -distrust  P
       -distrust-all

   Language options
       -fcontext-stack=n	    -fglasgow-exts	     -fno-glasgow-exts
       -firrefutable-tuples	 -fno-irrefutable-tuples       -fpackage-trust
       -ftype-function-depth=n	 -XAllowAmbiguousTypes -XNoAllowAmbiguousTypes
       -XArrows	   -XNoArrows	 -XAutoDeriveTypeable	-XNoAutoDeriveTypeable
       -XBangPatterns  -XNoBangPatterns	  -XBinaryLiterals  -XNoBinaryLiterals
       -XCApiFFI	     -XNoCAPIFFI	     -XConstrainedClassMethods
       -XNoConstrainedClassMethods    -XConstraintKinds	   -XNoConstraintKinds
       -XCPP	-XNoCPP	    -XDataKinds	  -XNoDataKinds	   -XDefaultSignatures
       -XNoDefaultSignatures	    -XDeriveAnyClass	    -XNoDeriveAnyClass
       -XDeriveDataTypeable	  -XNoDeriveDataTypeable       -XDeriveFunctor
       -XNoDeriveFunctor  -XDeriveFoldable -XNoDeriveFoldable  -XDeriveGeneric
       -XNoDeriveGeneric	-XDeriveTraversable	 -XNoDeriveTraversable
       -XDisambiguateRecordFields  -XNoDisambiguateRecordFields	   -XEmptyCase
       -XNoEmptyCase		 -XEmptyDataDecls	    -XNoEmptyDataDecls
       -XExistentialQuantification		 -XNoExistentialQuantification
       -XExplicitForAll	       -XNoExplicitForAll	  -XExplicitNamespaces
       -XNoExplicitNamespaces  -XExtendedDefaultRules -XNoExtendedDefaultRules
       -XFlexibleContexts	-XNoFlexibleContexts	   -XFlexibleInstances
       -XNoFlexibleInstances			    -XForeignFunctionInterface
       -XNoForeignFunctionInterface		      -XFunctionalDependencies
       -XNoFunctionalDependencies      -XGADTs	   -XNoGADTs	  -XGADTSyntax
       -XNoGADTSyntax				  -XGeneralizedNewtypeDeriving
       -XNoGeneralizedNewtypeDeriving	       -XGenerics	  -XNoGenerics
       -XImplicitParams		-XNoImplicitParams	   -XNoImplicitPrelude
       -XImplicitPrelude      -XImpredicativeTypes	-XNoImpredicativeTypes
       -XIncoherentInstances	  -XNoIncoherentInstances	-XInstanceSigs
       -XNoInstanceSigs		-XInterruptibleFFI	  -XNoInterruptibleFFI
       -XKindSignatures	   -XNoKindSignatures	 -XLambdaCase	-XNoLambdaCase
       -XLiberalTypeSynonyms	   -XNoLiberalTypeSynonyms	   -XMagicHash
       -XNoMagicHash	    -XMonadComprehensions      -XNoMonadComprehensions
       -XMonoLocalBinds	   -XNoMonoLocalBinds	   -XNoMonomorphismRestriction
       -XMonomorphismRestriction		       -XMultiParamTypeClasses
       -XNoMultiParamTypeClasses	  -XMultiWayIf		-XNoMultiWayIf
       -XNamedFieldPuns		 -XNoNamedFieldPuns	      -XNamedWildCards
       -XNoNamedWildCards	 -XNegativeLiterals	  -XNoNegativeLiterals
       -XNoNPlusKPatterns	 -XNPlusKPatterns	  -XNullaryTypeClasses
       -XNoNullaryTypeClasses		-XNumDecimals	       -XNoNumDecimals
       -XOverlappingInstances	 -XNoOverlappingInstances    -XOverloadedLists
       -XNoOverloadedLists	-XOverloadedStrings	 -XNoOverloadedStrings
       -XPackageImports		 -XNoPackageImports	      -XParallelArrays
       -XNoParallelArrays	 -XParallelListComp	  -XNoParallelListComp
       -XPartialTypeSignatures	  -XNoPartialTypeSignatures    -XPatternGuards
       -XNoPatternGuards  -XPatternSynonyms  -XNoPatternSynonyms   -XPolyKinds
       -XNoPolyKinds	  -XPolymorphicComponents    -XNoPolymorphicComponents
       -XPostfixOperators -XNoPostfixOperators	-XQuasiQuotes  -XNoQuasiQuotes
       -XRank2Types	 -XNoRank2Types	      -XRankNTypes	-XNoRankNTypes
       -XRebindableSyntax	-XNoRebindableSyntax	     -XRecordWildCards
       -XNoRecordWildCards   -XRecursiveDo  -XNoRecursiveDo   -XRelaxedPolyRec
       -XNoRelaxedPolyRec    -XRoleAnnotations	 -XNoRoleAnnotations	-XSafe
       -XScopedTypeVariables   -XNoScopedTypeVariables	  -XStandaloneDeriving
       -XNoStandaloneDeriving	    -XTemplateHaskell	   -XNoTemplateHaskell
       -XNoTraditionalRecordSyntax		     -XTraditionalRecordSyntax
       -XTransformListComp	  -XNoTransformListComp		 -XTrustworthy
       -XTupleSections	 -XNoTupleSections    -XTypeFamilies  -XNoTypeFamilies
       -XTypeOperators	      -XNoTypeOperators		-XTypeSynonymInstances
       -XNoTypeSynonymInstances	       -XUnboxedTuples	     -XNoUnboxedTuples
       -XUndecidableInstances	 -XNoUndecidableInstances      -XUnicodeSyntax
       -XNoUnicodeSyntax   -XUnliftedFFITypes  -XNoUnliftedFFITypes   -XUnsafe
       -XViewPatterns -XNoViewPatterns

   Warnings
       -W  -w	-w    -Wall   -w    -Werror	-Wwarn	   -fdefer-type-errors
       -fno-defer-type-errors	  -fdefer-typed-holes	-fno-defer-typed-holes
       -fhelpful-errors	     -fno-helpful-errors       -fwarn-deprecated-flags
       -fno-warn-deprecated-flags		  -fwarn-duplicate-constraints
       -fno-warn-duplicate-constraints		      -fwarn-duplicate-exports
       -fno-warn-duplicate-exports  -fwarn-hi-shadowing -fno-warn-hi-shadowing
       -fwarn-identities     -fno-warn-identities      -fwarn-implicit-prelude
       -fno-warn-implicit-prelude		    -fwarn-incomplete-patterns
       -fno-warn-incomplete-patterns		-fwarn-incomplete-uni-patterns
       -fno-warn-incomplete-uni-patterns      -fwarn-incomplete-record-updates
       -fno-warn-incomplete-record-updates	 -fwarn-lazy-unlifted-bindings
       -fno-warn-lazy-unlifted-bindings			 -fwarn-missing-fields
       -fno-warn-missing-fields			   -fwarn-missing-import-lists
       -fnowarn-missing-import-lists			-fwarn-missing-methods
       -fno-warn-missing-methods		     -fwarn-missing-signatures
       -fno-warn-missing-signatures		  -fwarn-missing-exported-sigs
       -fno-warn-missing-exported-sigs		     -fwarn-missing-local-sigs
       -fno-warn-missing-local-sigs	       -fwarn-monomorphism-restriction
       -fno-warn-monomorphism-restriction		 -fwarn-name-shadowing
       -fno-warn-name-shadowing	      -fwarn-orphans,	   -fwarn-auto-orphans
       -fno-warn-orphans, -fno-warn-auto-orphans   -fwarn-overlapping-patterns
       -fno-warn-overlapping-patterns	      -fwarn-tabs	-fno-warn-tabs
       -fwarn-type-defaults			       -fno-warn-type-defaults
       -fwarn-unrecognised-pragmas		-fno-warn-unrecognised-pragmas
       -fwarn-unticked-promoted-constructors
       -fno-warn-unticked-promoted-constructors		   -fwarn-unused-binds
       -fno-warn-unused-binds  -fwarn-unused-imports  -fno-warn-unused-imports
       -fwarn-unused-matches  -fno-warn-unused-matches	 -fwarn-unused-do-bind
       -fno-warn-unused-do-bind	 -fwarn-wrong-do-bind  -fno-warn-wrong-do-bind
       -fwarn-unsafe	  -fno-warn-unsafe	-fwarn-safe	-fno-warn-safe
       -fwarn-trustworthy-safe	-fno-warn-safe	  -fwarn-warnings-deprecations
       -fno-warn-warnings-deprecations	       -fwarn-amp	 -fno-warn-amp
       -fwarn-typed-holes				 -fno-warn-typed-holes
       -fwarn-partial-type-signatures	     -fno-warn-partial-type-signatures
       -fwarn-deriving-typeable -fno-warn-deriving-typeable

   Optimisation levels
       -O0 -O  -O or -O1 -O0  -O2 -O0  -Odph

   Individual optimisations
       -fcall-arity	-fno-call-arity	     -fcase-merge      -fno-case-merge
       -fcmm-elim-common-blocks	    -fno-cmm-elim-common-blocks	    -fcmm-sink
       -fno-cmm-sink	  -fcpr-off	 -fcse	   -fno-cse	 -fdicts-cheap
       -fno-dicts-cheap	 -fdicts-strict -fno-dicts-strict  -fdmd-tx-dict-sel
		    -fno-dmd-tx-dict-sel		    -fdo-eta-reduction
       -fno-do-eta-reduction			     -fdo-lambda-eta-expansion
       -fno-do-lambda-eta-expansion			   -feager-blackholing
       -fenable-rewrite-rules  -fno-enable-rewrite-rules    -fexcess-precision
       -fno-excess-precision			       -fexpose-all-unfoldings
       -fno-expose-all-unfoldings  -ffloat-in  -fno-float-in   -ffull-laziness
       -fno-full-laziness   -ffun-to-thunk -fno-fun-to-thunk  -fignore-asserts
       -fno-ignore-asserts			    -fignore-interface-pragmas
       -fno-ignore-interface-pragmas	 -flate-dmd-anal    -fno-late-dmd-anal
       -fliberate-case				   -fliberate-case-threshold=n
       -fno-liberate-case-threshold	 -floopification    -fno-loopification
       -fmax-inline-alloc-size=n
		   -fmax-inline-memcpy-insns=n

		   -fmax-inline-memset-insns=n
		     -fmax-relevant-binds=n	    -fno-max-relevant-bindings
       -fmax-simplifier-iterations=n   -fmax-worker-args=n   -fno-opt-coercion
       -fno-pre-inlining       -fno-state-hack	      -fomit-interface-pragmas
       -fno-omit-interface-pragmas	  -fomit-yields	      -fno-omit-yields
       -fpedantic-bottoms -fno-pedantic-bottoms	 -fregs-graph  -fno-regs-graph
       -fregs-iterative	      -fno-regs-iterative	 -fsimplifier-phases=n
       -fsimpl-tick-factor=n	       -fspec-constr	      -fno-spec-constr
       -fspec-constr-count=n -fno-spec-constr-count  -fspec-constr-threshold=n
       -fno-spec-constr-threshold	  -fspecialise	       -fno-specialise
       -fstatic-argument-transformation	   -fno-static-argument-transformation
       -fstrictness	      -fno-strictness		 -fstrictness-before=n
       -funbox-small-strict-fields		-fno-unbox-small-strict-fields
       -funbox-strict-fields			      -fno-unbox-strict-fields
       -funfolding-creation-threshold=n		   -funfolding-dict-discount=n
       -funfolding-fun-discount=n		  -funfolding-keeness-factor=n
       -funfolding-use-threshold=n		     -fvectorisation-avoidance
       -fno-vectorisation-avoidance  -fvectorise -fno-vectorise

   Profiling options
       -prof   -fprof-auto  -fno-prof-auto    -fprof-auto-top	-fno-prof-auto
       -fprof-auto-exported    -fno-prof-auto	  -fprof-cafs	-fno-prof-cafs
       -fno-prof-count-entries -fprof-count-entries  -ticky

   Program coverage options
       -fhpc  -hpcdir dir

   Haskell pre-processor options
       -F

   C pre-processor options
       -cpp  -Dsymbol=value -U	-Usymbol  -Idir

   Code generation options
       -fasm	  -fllvm      -fno-code	    -fwrite-interface	   -fbyte-code
       -fobject-code

   Linking options
       -shared	 -staticlib   -fPIC   -dynamic	 -dynamic-too  -dyno  -dynosuf
       -dynload	 -framework name  -framework-path name	-llib  -Ldir  -main-is
       --mk-dll	      -no-hs-main	-rtsopts,     -rtsopts={none,some,all}
       -with-rtsopts=opts  -no-link  -split-objs  -static   -threaded	-debug
       -ticky	    -eventlog	    -fno-gen-manifest	   -fno-embed-manifest
       -fno-shared-implib  -dylib-install-name path  -rdynamic

   Plugin options
       -fplugin=module	-fplugin-opt=module:args

   Replacing phases
       -pgmL cmd  -pgmP cmd  -pgmc cmd	-pgmlo	cmd   -pgmlc  cmd   -pgms  cmd
       -pgma   cmd   -pgml  cmd	  -pgmdll  cmd	 -pgmF	cmd   -pgmwindres  cmd
       -pgmlibtool cmd

   Forcing options to particular phases
       -optL option  -optP option  -optF option	 -optc option	-optlo	option
       -optlc  option  -opta option  -optl option  -optdll option  -optwindres
       option

   Platform-specific options
       -msse2

   Compiler debugging options
       -dcore-lint   -ddump-to-file    -ddump-asm    -ddump-bcos    -ddump-cmm
       -ddump-core-stats   -ddump-cse  -ddump-deriv  -ddump-ds	-ddump-foreign
       -ddump-hpc     -ddump-inlinings	    -ddump-llvm	     -ddump-occur-anal
       -ddump-opt-cmm	     -ddump-parsed	  -ddump-prep	     -ddump-rn
       -ddump-rule-firings   -ddump-rule-rewrites   -ddump-rules   -ddump-vect
       -ddump-simpl    -ddump-simpl-iterations	  -ddump-spec	-ddump-splices
       -ddump-stg  -ddump-stranal   -ddump-strsigs   -ddump-tc	 -dth-dec-file
       -ddump-types   -ddump-worker-wrapper   -ddump-if-trace  -ddump-tc-trace
       -ddump-vt-trace	-ddump-rn-trace	  -ddump-rn-stats   -ddump-simpl-stats
       -dno-debug-output     -dppr-debug    -dppr-user-length	 -dppr-colsNNN
       -dppr-case-as-let	   -dsuppress-all	    -dsuppress-uniques
       -dsuppress-idinfo			    -dsuppress-module-prefixes
       -dsuppress-type-signatures		  -dsuppress-type-applications
       -dsuppress-coercions	 -dsource-stats	     -dcmm-lint	    -dstg-lint
       -dstg-stats   -dverbose-core2core    -dverbose-stg2stg	 -dshow-passes
       -dfaststring-stats  -frule-check

   Misc compiler options
       -jN	-fno-hi-version-check	  -fhistory-size     -fno-ghci-history
       -fno-ghci-sandbox


VERBOSITY OPTIONS
       -v     verbose mode (equivalent to -v3)
								     [dynamic]

       -vn    set verbosity level
								     [dynamic]

       -fprint-explicit-foralls
	      print explicit forall quantification in types
								     [dynamic]

       -fprint-explicit-kinds
	      print explicit kind foralls and kind arguments in types
								     [dynamic]

       -ferror-spans
	      output full span in error messages
								     [dynamic]

       -Hsize Set the minimum heap size to size
								     [dynamic]

       -Rghc-timing
	      Summarise timing stats for GHC (same as +RTS -tstderr)
								     [dynamic]

ALTERNATIVE MODES OF OPERATION
       --help,-?
	      Disply help
									[mode]

       --interactive
	      Interactive mode - normally used by just running ghci;  see  for
	      details.
									[mode]

       --make Build a multi-module Haskell program, automatically figuring out
	      dependencies. Likely to be much easier, and faster,  than	 using
	      make; see for details..
									[mode]

       -e expr
	      Evaluate expr; see for details.
									[mode]

       --show-iface
	      Display the contents of an interface file.
									[mode]

       -M     Generate	dependency information suitable for use in a Makefile;
	      see for details.
									[mode]

       --supported-extensions, --supported-languages
	      display the supported language extensions
									[mode]

       --show-options
	      display the supported command line options
									[mode]

       --info display information about the compiler
									[mode]

       --version, -V
	      display GHC version
									[mode]

       --numeric-version
	      display GHC version (numeric only)
									[mode]

       --print-libdir
	      display GHC library directory
									[mode]

WHICH PHASES TO RUN
       -E     Stop after preprocessing (.hspp file)
									[mode]

       -C     Stop after generating C (.hc file)
									[mode]

       -S     Stop after generating assembly (.s file)
									[mode]

       -c     Stop after generating object (.o) file
									[mode]

       -x suffix
	      Override default behaviour for source files
								     [dynamic]

REDIRECTING OUTPUT
       -hcsuf suffix
	      set the suffix to use for intermediate C files
								     [dynamic]

       -hidir dir
	      set directory for interface files
								     [dynamic]

       -hisuf suffix
	      set the suffix to use for interface files
								     [dynamic]

       -o filename
	      set output filename
								     [dynamic]

       -odir dir
	      set directory for object files
								     [dynamic]

       -ohi filename
	      set the filename in which to put the interface
								     [dynamic]

       -osuf suffix
	      set the output file suffix
								     [dynamic]

       -stubdir dir
	      redirect FFI stub files
								     [dynamic]

       -dumpdir dir
	      redirect dump files
								     [dynamic]

       -outputdir dir
	      set output directory
								     [dynamic]

KEEPING INTERMEDIATE FILES
       -keep-hc-file or
			    -keep-hc-files retain intermediate .hc files
								     [dynamic]

       -keep-llvm-file or
			    -keep-llvm-files  retain  intermediate  LLVM   .ll
	      files
								     [dynamic]

       -keep-s-file or
			    -keep-s-files retain intermediate .s files
								     [dynamic]

       -keep-tmp-files
	      retain all intermediate temporary files
								     [dynamic]

TEMPORARY FILES
       -tmpdir
	      set the directory for temporary files
								     [dynamic]

FINDING IMPORTS
       -idir1:dir2:...
	      add dir, dir2, etc. to import path
								[dynamic/:set]

       -i     Empty the import directory list
								[dynamic/:set]

INTERFACE FILE OPTIONS
       -ddump-hi
	      Dump the new interface to stdout
								     [dynamic]

       -ddump-hi-diffs
	      Show the differences vs. the old interface
								     [dynamic]

       -ddump-minimal-imports
	      Dump a minimal set of imports
								     [dynamic]

       --show-iface file
	      See .
									    []

RECOMPILATION CHECKING
       -fforce-recomp
	      Turn off recompilation checking. This is implied by any -ddump-X
	      option when compiling a single file (i.e. when using -c).
								     [dynamic]

INTERACTIVE-MODE OPTIONS
       -ignore-dot-ghci
	      Disable reading of .ghci files
								     [dynamic]

       -ghci-script
	      Read additional .ghci files
								     [dynamic]

       -fbreak-on-error
	      Break on uncaught exceptions and errors
								     [dynamic]

       -fbreak-on-exception
	      Break on any exception thrown
								     [dynamic]

       -fghci-hist-size=n
	      Set the number of entries GHCi keeps for :history
								     [dynamic]

       -fprint-evld-with-show
	      Enable usage of Show instances in :print
								     [dynamic]

       -fprint-bind-result
	      Turn on printing of binding results in GHCi
								     [dynamic]

       -fno-print-bind-contents
	      Turn off printing of binding contents in GHCi
								     [dynamic]

       -fno-implicit-import-qualified
	      Turn off implicit qualified import of everything in GHCi
								     [dynamic]

       -interactive-print
	      Select the function to use for printing evaluated expressions in
	      GHCi
								     [dynamic]

PACKAGES
       -this-package-key P
	      Compile to be part of package P
								     [dynamic]

       -package P
	      Expose package P
								[dynamic/:set]

       -hide-all-packages
	      Hide all packages by default
								     [dynamic]

       -hide-package name
	      Hide package P
								[dynamic/:set]

       -ignore-package name
	      Ignore package P
								[dynamic/:set]

       -package-db file
	      Add file to the package db stack.
								     [dynamic]

       -clear-package-db
	      Clear the package db stack.
								     [dynamic]

       -no-global-package-db
	      Remove the global package db from the stack.
								     [dynamic]

       -global-package-db
	      Add the global package db to the stack.
								     [dynamic]

       -no-user-package-db
	      Remove the user's package db from the stack.
								     [dynamic]

       -user-package-db
	      Add the user's package db to the stack.
								     [dynamic]

       -no-auto-link-packages
	      Don't automatically link in the base and rts packages.
								     [dynamic]

       -trust P
	      Expose package P and set it to be trusted
								[dynamic/:set]

       -distrust P
	      Expose package P and set it to be distrusted
								[dynamic/:set]

       -distrust-all
	      Distrust all packages by default
								[dynamic/:set]

LANGUAGE OPTIONS
       -fcontext-stack=n
	      set the limit for type-class context reduction. Default is 100.
								     [dynamic]

       -fglasgow-exts
	      Deprecated.  Enable  most	 language  extensions; see for exactly
	      which ones.
								     [dynamic]

       -firrefutable-tuples
	      Make tuple pattern matching irrefutable
								     [dynamic]

       -fpackage-trust
	      Enable Safe Haskell trusted package requirement for  trustworthy
	      modules.
								     [dynamic]

       -ftype-function-depth=n
	      set the limit for type function reductions. Default is 200.
								     [dynamic]

       -XAllowAmbiguousTypes
	      Allow  the user to write ambiguous types, and the type inference
	      engine to infer them.
								     [dynamic]

       -XArrows
	      Enable arrow notation extension
								     [dynamic]

       -XAutoDeriveTypeable
	      As of GHC 7.10, this option is not needed,  and  should  not  be
	      used. Automatically derive Typeable instances for every datatype
	      and type class declaration. Implies -XDeriveDataTypeable.
								     [dynamic]

       -XBangPatterns
	      Enable bang patterns.
								     [dynamic]

       -XBinaryLiterals
	      Enable support for binary literals.
								     [dynamic]

       -XCApiFFI
	      Enable the CAPI calling convention.
								     [dynamic]

       -XConstrainedClassMethods
	      Enable constrained class methods.
								     [dynamic]

       -XConstraintKinds
	      Enable a kind of constraints.
								     [dynamic]

       -XCPP  Enable the C preprocessor.
								     [dynamic]

       -XDataKinds
	      Enable datatype promotion.
								     [dynamic]

       -XDefaultSignatures
	      Enable default signatures.
								     [dynamic]

       -XDeriveAnyClass
	      Enable deriving for any class.
								     [dynamic]

       -XDeriveDataTypeable
	      Enable deriving for the Data class. Implied  by  -XAutoDeriveTy‐
	      peable.
								     [dynamic]

       -XDeriveFunctor
	      Enable  deriving	for  the  Functor  class. Implied by -XDerive‐
	      Traversable.
								     [dynamic]

       -XDeriveFoldable
	      Enable deriving for the Foldable	class.	Implied	 by  -XDerive‐
	      Traversable.
								     [dynamic]

       -XDeriveGeneric
	      Enable deriving for the Generic class.
								     [dynamic]

       -XDeriveTraversable
	      Enable deriving for the Traversable class. Implies -XDeriveFunc‐
	      tor and -XDeriveFoldable.
								     [dynamic]

       -XDisambiguateRecordFields
	      Enable record field  disambiguation.  Implied  by	 -XRecordWild‐
	      Cards.
								     [dynamic]

       -XEmptyCase
	      Allow empty case alternatives.
								     [dynamic]

       -XEmptyDataDecls
	      Enable empty data declarations.
								     [dynamic]

       -XExistentialQuantification
	      Enable existential quantification.
								     [dynamic]

       -XExplicitForAll
	      Enable  explicit	universal quantification. Implied by -XScoped‐
	      TypeVariables, -XLiberalTypeSynonyms, -XRankNTypes  and  -XExis‐
	      tentialQuantification.
								     [dynamic]

       -XExplicitNamespaces
	      Enable  using  the  keyword type to specify the namespace of en‐
	      tries in imports and exports (). Implied by -XTypeOperators  and
	      -XTypeFamilies.
								     [dynamic]

       -XExtendedDefaultRules
	      Use GHCi's extended default rules in a normal module.
								     [dynamic]

       -XFlexibleContexts
	      Enable flexible contexts. Implied by -XImplicitParams.
								     [dynamic]

       -XFlexibleInstances
	      Enable  flexible	instances. Implies -XTypeSynonymInstances. Im‐
	      plied by -XImplicitParams.
								     [dynamic]

       -XForeignFunctionInterface
	      Enable foreign function interface.
								     [dynamic]

       -XFunctionalDependencies
	      Enable functional dependencies. Implies -XMultiParamTypeClasses.
								     [dynamic]

       -XGADTs
	      Enable generalised algebraic data	 types.	 Implies  -XGADTSyntax
	      and -XMonoLocalBinds.
								     [dynamic]

       -XGADTSyntax
	      Enable generalised algebraic data type syntax.
								     [dynamic]

       -XGeneralizedNewtypeDeriving
	      Enable newtype deriving.
								     [dynamic]

       -XGenerics
	      Deprecated, does nothing. No longer enables generic classes. See
	      also GHC's support for generic programming.
								     [dynamic]

       -XImplicitParams
	      Enable  Implicit	Parameters.  Implies  -XFlexibleContexts   and
	      -XFlexibleInstances.
								     [dynamic]

       -XNoImplicitPrelude
	      Don't implicitly import Prelude. Implied by -XRebindableSyntax.
								     [dynamic]

       -XImpredicativeTypes
	      Enable impredicative types. Implies -XRankNTypes.
								     [dynamic]

       -XIncoherentInstances
	      Enable incoherent instances. Implies -XOverlappingInstances.
								     [dynamic]

       -XInstanceSigs
	      Enable instance signatures.
								     [dynamic]

       -XInterruptibleFFI
	      Enable interruptible FFI.
								     [dynamic]

       -XKindSignatures
	      Enable   kind   signatures.   Implied   by   -XTypeFamilies  and
	      -XPolyKinds.
								     [dynamic]

       -XLambdaCase
	      Enable lambda-case expressions.
								     [dynamic]

       -XLiberalTypeSynonyms
	      Enable liberalised type synonyms.
								     [dynamic]

       -XMagicHash
	      Allow "#" as a postfix modifier on identifiers.
								     [dynamic]

       -XMonadComprehensions
	      Enable monad comprehensions.
								     [dynamic]

       -XMonoLocalBinds
	      Enable do not generalise local bindings. Implied by  -XTypeFami‐
	      lies and -XGADTs.
								     [dynamic]

       -XNoMonomorphismRestriction
	      Disable the monomorphism restriction.
								     [dynamic]

       -XMultiParamTypeClasses
	      Enable  multi parameter type classes. Implied by -XFunctionalDe‐
	      pendencies.
								     [dynamic]

       -XMultiWayIf
	      Enable multi-way if-expressions.
								     [dynamic]

       -XNamedFieldPuns
	      Enable record puns.
								     [dynamic]

       -XNamedWildCards
	      Enable named wildcards.
								     [dynamic]

       -XNegativeLiterals
	      Enable support for negative literals.
								     [dynamic]

       -XNoNPlusKPatterns
	      Disable support for n+k patterns.
								     [dynamic]

       -XNullaryTypeClasses
	      Deprecated, does nothing. nullary (no  parameter)	 type  classes
	      are now enabled using -XMultiParamTypeClasses.
								     [dynamic]

       -XNumDecimals
	      Enable support for 'fractional' integer literals.
								     [dynamic]

       -XOverlappingInstances
	      Enable overlapping instances.
								     [dynamic]

       -XOverloadedLists
	      Enable overloaded lists.
								     [dynamic]

       -XOverloadedStrings
	      Enable overloaded string literals.
								     [dynamic]

       -XPackageImports
	      Enable package-qualified imports.
								     [dynamic]

       -XParallelArrays
	      Enable parallel arrays. Implies -XParallelListComp.
								     [dynamic]

       -XParallelListComp
	      Enable  parallel	list  comprehensions. Implied by -XParallelAr‐
	      rays.
								     [dynamic]

       -XPartialTypeSignatures
	      Enable partial type signatures.
								     [dynamic]

       -XPatternGuards
	      Enable pattern guards.
								     [dynamic]

       -XPatternSynonyms
	      Enable pattern synonyms.
								     [dynamic]

       -XPolyKinds
	      Enable kind polymorphism. Implies -XKindSignatures.
								     [dynamic]

       -XPolymorphicComponents
	      Enable polymorphic components for data constructors.
					   [dynamic, synonym for -XRankNTypes]

       -XPostfixOperators
	      Enable postfix operators.
								     [dynamic]

       -XQuasiQuotes
	      Enable quasiquotation.
								     [dynamic]

       -XRank2Types
	      Enable rank-2 types.
					   [dynamic, synonym for -XRankNTypes]

       -XRankNTypes
	      Enable rank-N types. Implied by -XImpredicativeTypes.
								     [dynamic]

       -XRebindableSyntax
	      Employ rebindable syntax. Implies -XNoImplicitPrelude.
								     [dynamic]

       -XRecordWildCards
	      Enable record wildcards. Implies -XDisambiguateRecordFields.
								     [dynamic]

       -XRecursiveDo
	      Enable recursive do (mdo) notation.
								     [dynamic]

       -XRelaxedPolyRec
	      (deprecated) Relaxed checking for mutually-recursive polymorphic
	      functions.
								     [dynamic]

       -XRoleAnnotations
	      Enable role annotations.
								     [dynamic]

       -XSafe Enable the Safe Haskell Safe mode.
								     [dynamic]

       -XScopedTypeVariables
	      Enable lexically-scoped type variables.
								     [dynamic]

       -XStandaloneDeriving
	      Enable standalone deriving.
								     [dynamic]

       -XTemplateHaskell
	      Enable Template Haskell.
								     [dynamic]

       -XNoTraditionalRecordSyntax
	      Disable  support	for traditional record syntax (as supported by
	      Haskell 98) C {f = x}
								     [dynamic]

       -XTransformListComp
	      Enable generalised list comprehensions.
								     [dynamic]

       -XTrustworthy
	      Enable the Safe Haskell Trustworthy mode.
								     [dynamic]

       -XTupleSections
	      Enable tuple sections.
								     [dynamic]

       -XTypeFamilies
	      Enable type families. Implies -XExplicitNamespaces, -XKindSigna‐
	      tures and -XMonoLocalBinds.
								     [dynamic]

       -XTypeOperators
	      Enable type operators. Implies -XExplicitNamespaces.
								     [dynamic]

       -XTypeSynonymInstances
	      Enable type synonyms in instance heads. Implied by -XFlexibleIn‐
	      stances.
								     [dynamic]

       -XUnboxedTuples
	      Enable unboxed tuples.
								     [dynamic]

       -XUndecidableInstances
	      Enable undecidable instances.
								     [dynamic]

       -XUnicodeSyntax
	      Enable unicode syntax.
								     [dynamic]

       -XUnliftedFFITypes
	      Enable unlifted FFI types.
								     [dynamic]

       -XUnsafe
	      Enable Safe Haskell Unsafe mode.
								     [dynamic]

       -XViewPatterns
	      Enable view patterns.
								     [dynamic]

WARNINGS
       -W     enable normal warnings
								     [dynamic]

       -w     disable all warnings
								     [dynamic]

       -Wall  enable almost all warnings (details in )
								     [dynamic]

       -Werror
	      make warnings fatal
								     [dynamic]

       -Wwarn make warnings non-fatal
								     [dynamic]

       -fdefer-type-errors
	      Turn type errors into warnings, deferring the error  until  run‐
	      time. Implies -fdefer-typed-holes.
								     [dynamic]

       -fdefer-typed-holes
	      Convert typed hole errors into warnings, deferring the error un‐
	      til  runtime.   Implied	by   -fdefer-type-errors.   See	  also
	      -fwarn-typed-holes.
								     [dynamic]

       -fhelpful-errors
	      Make suggestions for mis-spelled names.
								     [dynamic]

       -fwarn-deprecated-flags
	      warn about uses of commandline flags that are deprecated
								     [dynamic]

       -fwarn-duplicate-constraints
	      warn when a constraint appears duplicated in a type signature
								     [dynamic]

       -fwarn-duplicate-exports
	      warn when an entity is exported multiple times
								     [dynamic]

       -fwarn-hi-shadowing
	      warn when a .hi file in the current directory shadows a library
								     [dynamic]

       -fwarn-identities
	      warn about uses of Prelude numeric conversions that are probably
	      the identity (and hence could be omitted)
								     [dynamic]

       -fwarn-implicit-prelude
	      warn when the Prelude is implicitly imported
								     [dynamic]

       -fwarn-incomplete-patterns
	      warn when a pattern match could fail
								     [dynamic]

       -fwarn-incomplete-uni-patterns
	      warn when a pattern match in  a  lambda  expression  or  pattern
	      binding could fail
								     [dynamic]

       -fwarn-incomplete-record-updates
	      warn when a record update could fail
								     [dynamic]

       -fwarn-lazy-unlifted-bindings
	      (deprecated)  warn when a pattern binding looks lazy but must be
	      strict
								     [dynamic]

       -fwarn-missing-fields
	      warn when fields of a record are uninitialised
								     [dynamic]

       -fwarn-missing-import-lists
	      warn when an import declaration does not explicitly list all the
	      names brought into scope
								     [dynamic]

       -fwarn-missing-methods
	      warn when class methods are undefined
								     [dynamic]

       -fwarn-missing-signatures
	      warn about top-level functions without signatures
								     [dynamic]

       -fwarn-missing-exported-sigs
	      warn  about top-level functions without signatures, only if they
	      are exported. takes precedence over -fwarn-missing-signatures
								     [dynamic]

       -fwarn-missing-local-sigs
	      warn about polymorphic local bindings without signatures
								     [dynamic]

       -fwarn-monomorphism-restriction
	      warn when the Monomorphism Restriction is applied
								     [dynamic]

       -fwarn-name-shadowing
	      warn when names are shadowed
								     [dynamic]

       -fwarn-orphans, -fwarn-auto-orphans
	      warn when the module contains orphan  instance  declarations  or
	      rewrite rules
								     [dynamic]

       -fwarn-overlapping-patterns
	      warn about overlapping patterns
								     [dynamic]

       -fwarn-tabs
	      warn if there are tabs in the source file
								     [dynamic]

       -fwarn-type-defaults
	      warn when defaulting happens
								     [dynamic]

       -fwarn-unrecognised-pragmas
	      warn about uses of pragmas that GHC doesn't recognise
								     [dynamic]

       -fwarn-unticked-promoted-constructors
	      warn if promoted constructors are not ticked
								     [dynamic]

       -fwarn-unused-binds
	      warn about bindings that are unused
								     [dynamic]

       -fwarn-unused-imports
	      warn about unnecessary imports
								     [dynamic]

       -fwarn-unused-matches
	      warn about variables in patterns that aren't used
								     [dynamic]

       -fwarn-unused-do-bind
	      warn about do bindings that appear to throw away values of types
	      other than ()
								     [dynamic]

       -fwarn-wrong-do-bind
	      warn about do bindings that appear to throw away monadic	values
	      that you should have bound instead
								     [dynamic]

       -fwarn-unsafe
	      warn  if	the  module  being  compiled is regarded to be unsafe.
	      Should be used to check the safety status of modules when	 using
	      safe  inference. Works on all module types, even those using ex‐
	      plicit Safe Haskell modes (such as -XTrustworthy) and so can  be
	      used to have the compiler check any assumptions made.
								     [dynamic]

       -fwarn-safe
	      warn if the module being compiled is regarded to be safe. Should
	      be used to check the safety status of modules  when  using  safe
	      inference.  Works on all module types, even those using explicit
	      Safe Haskell modes (such as -XTrustworthy) and so can be used to
	      have the compiler check any assumptions made.
								     [dynamic]

       -fwarn-trustworthy-safe
	      warn if the module being compiled is marked as -XTrustworthy but
	      it could instead be marked as -XSafe, a more informative	bound.
	      Can  be used to detect once a Safe Haskell bound can be improved
	      as dependencies are updated.
								     [dynamic]

       -fwarn-warnings-deprecations
	      warn about uses of functions & types that have warnings or  dep‐
	      recated pragmas
								     [dynamic]

       -fwarn-amp
	      (deprecated)  warn  on definitions conflicting with the Applica‐
	      tive-Monad Proposal (AMP)
								     [dynamic]

       -fwarn-typed-holes
	      Report warnings when typed hole errors are deferred  until  run‐
	      time. See -fdefer-typed-holes.
								     [dynamic]

       -fwarn-partial-type-signatures
	      warn about holes in partial type signatures when -XPartialTypes‐
	      ignatures is enabled. Not	 applicable  when  -XPartialTypesigna‐
	      tures  is	 not  enabled,	in which case errors are generated for
	      such holes. See .
								     [dynamic]

       -fwarn-deriving-typeable
	      warn when encountering a request to derive an instance of	 class
	      Typeable.	 As of GHC 7.10, such declarations are unnecessary and
	      are ignored by the compiler because GHC has a custom solver  for
	      discharging this type of constraint.
								     [dynamic]

OPTIMISATION LEVELS
       -O0    Disable optimisations (default)
								     [dynamic]

       -O or -O1
	      Enable level 1 optimisations
								     [dynamic]

       -O2    Enable level 2 optimisations
								     [dynamic]

       -Odph  Enable level 2 optimisations, set -fmax-simplifier-iterations=20
	      and -fsimplifier-phases=3.
								     [dynamic]

INDIVIDUAL OPTIMISATIONS
       -fcall-arity
	      Enable call-arity optimisation. Implied by -O.
								     [dynamic]

       -fcase-merge
	      Enable case-merging. Implied by -O.
								     [dynamic]

       -fcmm-elim-common-blocks
	      Enable Cmm common block elimination. Implied by -O.
								     [dynamic]

       -fcmm-sink
	      Enable Cmm sinking. Implied by -O.
								     [dynamic]

       -fcpr-off
	      Switch off CPR analysis in the demand analyser.
								      [static]

       -fcse  Enable common sub-expression elimination. Implied by -O.
								     [dynamic]

       -fdicts-cheap
	      Make dictionary-valued expressions seem cheap to the optimiser.
								     [dynamic]

       -fdicts-strict
	      Make dictionaries strict
								     [dynamic]

       -fdmd-tx-dict-sel

	      Use a special demand transformer for dictionary  selectors.  Al‐
	      ways enabled by default.
								     [dynamic]

       -fdo-eta-reduction
	      Enable eta-reduction. Implied by -O.
								     [dynamic]

       -fdo-lambda-eta-expansion
	      Enable lambda eta-expansion. Always enabled by default.
								     [dynamic]

       -feager-blackholing
	      Turn on eager blackholing
								     [dynamic]

       -fenable-rewrite-rules
	      Switch  on all rewrite rules (including rules generated by auto‐
	      matic specialisation of overloaded functions). Implied by -O.
								     [dynamic]

       -fexcess-precision
	      Enable excess intermediate precision
								     [dynamic]

       -fexpose-all-unfoldings
	      Expose all unfoldings, even for very large  or  recursive	 func‐
	      tions.
								     [dynamic]

       -ffloat-in
	      Turn on the float-in transformation. Implied by -O.
								     [dynamic]

       -ffull-laziness
	      Turn  on	full laziness (floating bindings outwards). Implied by
	      -O.
								     [dynamic]

       -ffun-to-thunk
	      Allow worker-wrapper to convert a function closure into a	 thunk
	      if  the  function	 does not use any of its arguments. Off by de‐
	      fault.
								     [dynamic]

       -fignore-asserts
	      Ignore assertions in the source. Implied by -O.
								     [dynamic]

       -fignore-interface-pragmas
	      Ignore pragmas in interface files. Implied by -O0 only.
								     [dynamic]

       -flate-dmd-anal
	      Run demand analysis again, at  the  end  of  the	simplification
	      pipeline
								     [dynamic]

       -fliberate-case
	      Turn on the liberate-case transformation. Implied by -O2.
								     [dynamic]

       -fliberate-case-threshold=n
	      Set the size threshold for the liberate-case transformation to n
	      (default: 2000)
								     [dynamis]

       -floopification
	      Turn saturated self-recursive tail-calls into local jumps in the
	      generated assembly. Implied by -O.
								     [dynamic]

       -fmax-inline-alloc-size=n
	      Set the maximum size of inline array allocations to n bytes (de‐
	      fault: 128). GHC will allocate non-pinned arrays	of  statically
	      known  size  in  the  current nursery block if they're no bigger
	      than n bytes, ignoring GC overheap. This value should be quite a
	      bit smaller than the block size (typically: 4096).
								     [dynamic]

		   -fmax-inline-memcpy-insns=n

	      Inline memcpy calls if they would generate no more than n pseudo
	      instructions (default: 32).
								     [dynamic]

		   -fmax-inline-memset-insns=n

	      Inline memset calls if they would generate no more than n pseudo
	      instructions (default: 32).
								     [dynamic]

       -fmax-relevant-binds=n
	      Set the maximum number of bindings to display in type error mes‐
	      sages (default 6).
								     [dynamic]

       -fmax-simplifier-iterations=n
	      Set the max iterations for the simplifier (default 4).
								     [dynamic]

       -fmax-worker-args=n
	      If a worker has that many arguments, none will be unpacked  any‐
	      more (default: 10)
								     [dynamic]

       -fno-opt-coercion
	      Turn off the coercion optimiser
								      [static]

       -fno-pre-inlining
	      Turn off pre-inlining
								     [dynamic]

       -fno-state-hack
	      Turn  off	 the "state hack" whereby any lambda with a real-world
	      state token as argument is considered to be single-entry.	 Hence
	      OK to inline things inside it.
								      [static]

       -fomit-interface-pragmas
	      Don't generate interface pragmas. Implied by -O0 only.
								     [dynamic]

       -fomit-yields
	      Omit heap checks when no allocation is being performed.
								     [dynamic]

       -fpedantic-bottoms
	      Make  GHC be more precise about its treatment of bottom (but see
	      also -fno-state-hack). In particular, GHC	 will  not  eta-expand
	      through a case expression.
								     [dynamic]

       -fregs-graph
	      Use  the graph colouring register allocator for register alloca‐
	      tion in the native code generator. Implied by -O2.
								     [dynamic]

       -fregs-iterative
	      Use the iterative coalescing graph colouring register  allocator
	      in the native code generator.
								     [dynamic]

       -fsimplifier-phases=n
	      Set the number of phases for the simplifier (default 2). Ignored
	      with -O0.
								     [dynamic]

       -fsimpl-tick-factor=n
	      Set the percentage factor for simplifier ticks (default 100)
								     [dynamic]

       -fspec-constr
	      Turn on the SpecConstr transformation. Implied by -O2.
								     [dynamic]

       -fspec-constr-count=n
	      Set to n (default: 3) the maximum number of specialisations that
	      will be created for any one function by the SpecConstr transfor‐
	      mation
								     [dynamic]

       -fspec-constr-threshold=n
	      Set the size threshold for the SpecConstr	 transformation	 to  n
	      (default: 2000)
								     [dynamic]

       -fspecialise
	      Turn on specialisation of overloaded functions. Implied by -O.
								     [dynamic]

       -fstatic-argument-transformation
	      Turn on the static argument transformation.
								     [dynamic]

       -fstrictness
	      Turn on strictness analysis. Implied by -O.
								     [dynamic]

       -fstrictness-before=n
	      Run an additional strictness analysis before simplifier phase n
								     [dynamic]

       -funbox-small-strict-fields
	      Flatten strict constructor fields with a pointer-sized represen‐
	      tation. Implied by -O.
								     [dynamic]

       -funbox-strict-fields
	      Flatten strict constructor fields
								     [dynamic]

       -funfolding-creation-threshold=n
	      Tweak unfolding settings. Default: 750
								     [dynamic]

       -funfolding-dict-discount=n
	      Tweak unfolding settings. Default: 30
								     [dynamic]

       -funfolding-fun-discount=n
	      Tweak unfolding settings. Default: 60
								     [dynamic]

       -funfolding-keeness-factor=n
	      Tweak unfolding settings. Default: 1.5
								     [dynamic]

       -funfolding-use-threshold=n
	      Tweak unfolding settings. Default: 60
								     [dynamic]

       -fvectorisation-avoidance
	      Enable vectorisation avoidance. Always enabled by default.
								     [dynamic]

       -fvectorise
	      Enable vectorisation of nested data parallelism
								     [dynamic]

PROFILING OPTIONS
       -prof  Turn on profiling
								     [dynamic]

       -fprof-auto
	      Auto-add SCCs to all bindings not marked INLINE
								     [dynamic]

       -fprof-auto-top
	      Auto-add SCCs to all top-level bindings not marked INLINE
								     [dynamic]

       -fprof-auto-exported
	      Auto-add SCCs to all exported bindings not marked INLINE
								     [dynamic]

       -fprof-cafs
	      Auto-add SCCs to all CAFs
								     [dynamic]

       -fno-prof-count-entries
	      Do not collect entry counts
								     [dynamic]

       -ticky Turn on ticky-ticky profiling
								     [dynamic]

PROGRAM COVERAGE OPTIONS
       -fhpc  Turn on Haskell program coverage instrumentation
								     [dynamic]

       -hpcdir dir
	      Directory to deposit .mix files during compilation  (default  is
	      .hpc)
								     [dynamic]

HASKELL PRE-PROCESSOR OPTIONS
       -F     Enable the use of a pre-processor (set with -pgmF)
								     [dynamic]

C PRE-PROCESSOR OPTIONS
       -cpp   Run the C pre-processor on Haskell source files
								     [dynamic]

       -Dsymbol=value
	      Define a symbol in the C pre-processor
								     [dynamic]

       -Usymbol
	      Undefine a symbol in the C pre-processor
								     [dynamic]

       -Idir  Add dir to the directory search list for #include files
								     [dynamic]

CODE GENERATION OPTIONS
       -fasm  Use the native code generator
								     [dynamic]

       -fllvm Compile using the LLVM code generator
								     [dynamic]

       -fno-code
	      Omit code generation
								     [dynamic]

       -fwrite-interface
	      Always write interface files
								     [dynamic]

       -fbyte-code
	      Generate byte-code
								     [dynamic]

       -fobject-code
	      Generate object code
								     [dynamic]

LINKING OPTIONS
       -shared
	      Generate a shared library (as opposed to an executable)
								     [dynamic]

       -staticlib
	      On  Darwin/OS  X/iOS  only, generate a standalone static library
	      (as opposed to an executable). This is the usual way to  compile
	      for iOS.
								     [dynamic]

       -fPIC  Generate position-independent code (where available)
								     [dynamic]

       -dynamic
	      Use dynamic Haskell libraries (if available)
								     [dynamic]

       -dynamic-too
	      Build dynamic object files as well as static object files during
	      compilation
								     [dynamic]

       -dyno  Set the output path for the dynamically linked objects
								     [dynamic]

       -dynosuf
	      Set the output suffix for dynamic object files
								     [dynamic]

       -dynload
	      Selects one of a number of modes for finding shared libraries at
	      runtime.
								     [dynamic]

       -framework name
	      On Darwin/OS X/iOS only, link in the framework name. This option
	      corresponds to the -framework option for Apple's Linker.
								     [dynamic]

       -framework-path name
	      On Darwin/OS X/iOS only, add dir	to  the	 list  of  directories
	      searched	for  frameworks. This option corresponds to the -F op‐
	      tion for Apple's Linker.
								     [dynamic]

       -llib  Link in library lib
								     [dynamic]

       -Ldir  Add dir to the list of directories searched for libraries
								     [dynamic]

       -main-is
	      Set main module and function
								     [dynamic]

       --mk-dll
	      DLL-creation mode (Windows only)
								     [dynamic]

       -no-hs-main
	      Don't assume this program contains main
								     [dynamic]

       -rtsopts, -rtsopts={none,some,all}
	      Control whether the RTS behaviour can be	tweaked	 via  command-
	      line flags and the GHCRTS environment variable. Using none means
	      no RTS flags can be given; some means only a minimum of safe op‐
	      tions  can  be  given  (the default), and all (or no argument at
	      all) means that all RTS flags are permitted.
								     [dynamic]

       -with-rtsopts=opts
	      Set the default RTS options to opts.
								     [dynamic]

       -no-link
	      Omit linking
								     [dynamic]

       -split-objs
	      Split objects (for libraries)
								     [dynamic]

       -static
	      Use static Haskell libraries
								     [dynamic]

       -threaded
	      Use the threaded runtime
								     [dynamic]

       -debug Use the debugging runtime
								     [dynamic]

       -ticky For linking, this simply implies -debug; see .
								     [dynamic]

       -eventlog
	      Enable runtime event tracing
								     [dynamic]

       -fno-gen-manifest
	      Do not generate a manifest file (Windows only)
								     [dynamic]

       -fno-embed-manifest
	      Do not embed the manifest in the executable (Windows only)
								     [dynamic]

       -fno-shared-implib
	      Don't generate an import library for a DLL (Windows only)
								     [dynamic]

       -dylib-install-name path
	      Set the install name (via -install_name passed to Apple's	 link‐
	      er),  specifying	the full install path of the library file. Any
	      libraries or executables that link with it later	will  pick  up
	      that  path as their runtime search location for it. (Darwin/OS X
	      only)
								     [dynamic]

       -rdynamic
	      This instructs the linker to add	all  symbols,  not  only  used
	      ones,  to	 the  dynamic  symbol  table. Currently Linux and Win‐
	      dows/MinGW32 only. This is equivalent to using  -optl  -rdynamic
	      on Linux, and -optl -export-all-symbols on Windows.
								     [dynamic]

PLUGIN OPTIONS
       -fplugin=module
	      Load a plugin exported by a given module
								     [dynamic]

       -fplugin-opt=module:args
	      Give arguments to a plugin module; module must be specified with
	      -fplugin
								     [dynamic]

REPLACING PHASES
       -pgmL cmd
	      Use cmd as the literate pre-processor
								     [dynamic]

       -pgmP cmd
	      Use cmd as the C pre-processor (with -cpp only)
								     [dynamic]

       -pgmc cmd
	      Use cmd as the C compiler
								     [dynamic]

       -pgmlo cmd
	      Use cmd as the LLVM optimiser
								     [dynamic]

       -pgmlc cmd
	      Use cmd as the LLVM compiler
								     [dynamic]

       -pgms cmd
	      Use cmd as the splitter
								     [dynamic]

       -pgma cmd
	      Use cmd as the assembler
								     [dynamic]

       -pgml cmd
	      Use cmd as the linker
								     [dynamic]

       -pgmdll cmd
	      Use cmd as the DLL generator
								     [dynamic]

       -pgmF cmd
	      Use cmd as the pre-processor (with -F only)
								     [dynamic]

       -pgmwindres cmd
	      Use cmd as the program for embedding manifests on Windows.
								     [dynamic]

       -pgmlibtool cmd
	      Use cmd as the command for libtool (with -staticlib only).
								     [dynamic]

FORCING OPTIONS TO PARTICULAR PHASES
       -optL option
	      pass option to the literate pre-processor
								     [dynamic]

       -optP option
	      pass option to cpp (with -cpp only)
								     [dynamic]

       -optF option
	      pass option to the custom pre-processor
								     [dynamic]

       -optc option
	      pass option to the C compiler
								     [dynamic]

       -optlo option
	      pass option to the LLVM optimiser
								     [dynamic]

       -optlc option
	      pass option to the LLVM compiler
								     [dynamic]

       -opta option
	      pass option to the assembler
								     [dynamic]

       -optl option
	      pass option to the linker
								     [dynamic]

       -optdll option
	      pass option to the DLL generator
								     [dynamic]

       -optwindres option
	      pass option to windres.
								     [dynamic]

PLATFORM-SPECIFIC OPTIONS
       -msse2 (x86 only) Use SSE2 for floating point
								     [dynamic]

COMPILER DEBUGGING OPTIONS
       -dcore-lint
	      Turn on internal sanity checking
								     [dynamic]

       -ddump-to-file
	      Dump to files instead of stdout
								     [dynamic]

       -ddump-asm
	      Dump assembly
								     [dynamic]

       -ddump-bcos
	      Dump interpreter byte code
								     [dynamic]

       -ddump-cmm
	      Dump C-- output
								     [dynamic]

       -ddump-core-stats
	      Print a one-line summary of the size of the Core program at  the
	      end of the optimisation pipeline
								     [dynamic]

       -ddump-cse
	      Dump CSE output
								     [dynamic]

       -ddump-deriv
	      Dump deriving output
								     [dynamic]

       -ddump-ds
	      Dump desugarer output
								     [dynamic]

       -ddump-foreign
	      Dump foreign export stubs
								     [dynamic]

       -ddump-hpc
	      Dump after instrumentation for program coverage
								     [dynamic]

       -ddump-inlinings
	      Dump inlining info
								     [dynamic]

       -ddump-llvm
	      Dump LLVM intermediate code
								     [dynamic]

       -ddump-occur-anal
	      Dump occurrence analysis output
								     [dynamic]

       -ddump-opt-cmm
	      Dump the results of C-- to C-- optimising passes
								     [dynamic]

       -ddump-parsed
	      Dump parse tree
								     [dynamic]

       -ddump-prep
	      Dump prepared core
								     [dynamic]

       -ddump-rn
	      Dump renamer output
								     [dynamic]

       -ddump-rule-firings
	      Dump rule firing info
								     [dynamic]

       -ddump-rule-rewrites
	      Dump detailed rule firing info
								     [dynamic]

       -ddump-rules
	      Dump rules
								     [dynamic]

       -ddump-vect
	      Dump vectoriser input and output
								     [dynamic]

       -ddump-simpl
	      Dump final simplifier output
								     [dynamic]

       -ddump-simpl-iterations
	      Dump output from each simplifier iteration
								     [dynamic]

       -ddump-spec
	      Dump specialiser output
								     [dynamic]

       -ddump-splices
	      Dump TH spliced expressions, and what they evaluate to
								     [dynamic]

       -ddump-stg
	      Dump final STG
								     [dynamic]

       -ddump-stranal
	      Dump strictness analyser output
								     [dynamic]

       -ddump-strsigs
	      Dump strictness signatures
								     [dynamic]

       -ddump-tc
	      Dump typechecker output
								     [dynamic]

       -dth-dec-file
	      Show evaluated TH declarations in a .th.hs file
								     [dynamic]

       -ddump-types
	      Dump type signatures
								     [dynamic]

       -ddump-worker-wrapper
	      Dump worker-wrapper output
								     [dynamic]

       -ddump-if-trace
	      Trace interface files
								     [dynamic]

       -ddump-tc-trace
	      Trace typechecker
								     [dynamic]

       -ddump-vt-trace
	      Trace vectoriser
								     [dynamic]

       -ddump-rn-trace
	      Trace renamer
								     [dynamic]

       -ddump-rn-stats
	      Renamer stats
								     [dynamic]

       -ddump-simpl-stats
	      Dump simplifier stats
								     [dynamic]

       -dno-debug-output
	      Suppress unsolicited debugging output
								      [static]

       -dppr-debug
	      Turn on debug printing (more verbose)
								      [static]

       -dppr-user-length
	      Set the depth for printing expressions in error msgs
								     [dynamic]

       -dppr-colsNNN
	      Set the width of debugging output. For example -dppr-cols200
								     [dynamic]

       -dppr-case-as-let
	      Print single alternative case expressions as strict lets.
								     [dynamic]

       -dsuppress-all
	      In  core dumps, suppress everything (except for uniques) that is
	      suppressible.
								     [dynamic]

       -dsuppress-uniques
	      Suppress the printing of uniques in debug output (easier to  use
	      diff)
								     [dynamic]

       -dsuppress-idinfo
	      Suppress	extended  information about identifiers where they are
	      bound
								     [dynamic]

       -dsuppress-module-prefixes
	      Suppress the printing of module qualification prefixes
								     [dynamic]

       -dsuppress-type-signatures
	      Suppress type signatures
								     [dynamic]

       -dsuppress-type-applications
	      Suppress type applications
								     [dynamic]

       -dsuppress-coercions
	      Suppress the printing of coercions in Core dumps	to  make  them
	      shorter
								     [dynamic]

       -dsource-stats
	      Dump haskell source stats
								     [dynamic]

       -dcmm-lint
	      C-- pass sanity checking
								     [dynamic]

       -dstg-lint
	      STG pass sanity checking
								     [dynamic]

       -dstg-stats
	      Dump STG stats
								     [dynamic]

       -dverbose-core2core
	      Show output from each core-to-core pass
								     [dynamic]

       -dverbose-stg2stg
	      Show output from each STG-to-STG pass
								     [dynamic]

       -dshow-passes
	      Print out each pass name as it happens
								     [dynamic]

       -dfaststring-stats
	      Show statistics for fast string usage when finished
								     [dynamic]

       -frule-check
	      Report  sites with rules that could have fired but didn't. Takes
	      a string argument.
								     [dynamic]

MISC COMPILER OPTIONS
       -jN    When compiling with --make, compile N modules in parallel.
								     [dynamic]

       -fno-hi-version-check
	      Don't complain about .hi file mismatches
								     [dynamic]

       -fhistory-size
	      Set simplification history size
								     [dynamic]

       -fno-ghci-history
	      Do not use the load/store the GHCi command history  from/to  gh‐
	      ci_history.
								     [dynamic]

       -fno-ghci-sandbox
	      Turn  off	 the  GHCi  sandbox. Means computations are run in the
	      main thread, rather than a forked thread.
								     [dynamic]

FILES
       /usr/local/lib

COPYRIGHT
       Copyright 2002, The University Court of the University of Glasgow.
       All rights reserved.

AUTHOR
       This manual page was generated from the XML documentation of  GHC  with
       blood,  sweat,  tears  and a breaks-if-you-look-at-it-the-wrong-way XSL
       stylesheet originally written by	 Michael  Weber	 <michaelw@debian.org>
       for the Debian GNU/Linux system (but may be used by others).

Glasgow FP Suite		  2002-10-25				GHC(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net