{-@Options # Code Options Various options affecting how jhc interprets and compiles code can be controlled with the '-f' flag, the following options are availible, you can negate any particular one by prepending 'no-' to it. !Code options unboxed-tuples allow unboxed tuple syntax to be recognized unboxed-values allow unboxed value syntax ffi support foreign function declarations cpp pass haskell source through c preprocessor m4 pass haskell source through m4 preprocessor prelude implicitly import Prelude type-families type/data family support user-kinds user defined kinds forall - forall keyword for rank-n types and explicit quantification exists - exists keyword for existential types recognized bang-patterns - bang patterns !Typechecking monomorphism-restriction enforce monomorphism restriction defaulting perform defaulting of ambiguous types !Debugging lint perform lots of extra type checks !Optimization Options inline-pragmas use inline pragmas rules use rules type-analysis perform a basic points-to analysis on types right after method generation global-optimize perform whole program E optimization !Code Generation standalone compile to a standalone executable full-int extend Int and Word to 32 bits on a 32 bit machine (rather than 30) wrapper wrap main in exception handler boehm use Boehm garbage collector jgc use the jgc garbage collector profile enable profiling code in generated executable debug enable debugging code in generated executable raw just evaluate main to WHNF and nothing else. !Default settings @default inline-pragmas rules wrapper defaulting type-analysis monomorphism-restriction global-optimize full-int prelude @glasgow-exts forall ffi unboxed-tuples