Yhc/Options

From HaskellWiki
< Yhc
Revision as of 15:32, 30 July 2007 by Kevin Reid (talk | contribs) (all -<option> changed to --<option>)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Command syntax:

 yhc [options] file

file: Name of the source file to compile, i.e. main.hs options: a list of options

 --flag           turn on an option
 --noflag         turn off an option
 --flag value     pass a value as the flag

Path Options:

 -I --includes str   Include directories
 -P --preludes str   Prelude directories
 -d --dst str        destination path for generated bytecode files (default=.)
 -i --hidst str      destinated path for generated .hi file (default=.)
 -w --wrapdst str    destination path for generated FFI wrapper (default=.)
    --hide           hide object files (default=off)

Generation Options:

    --hat            compile with Hat debugging support (default=off)
    --dotnet         Generate .NET IL code (default=off)
 -W --genwrapper     generate FFI wrapper (default=off)
    --hi-suffix str  change the default ".hi" suffix (default=hi)
    --exportall      export all identifiers from a module, despite what the 
                     export list says (default=off)

Action Flags:

    --viewcore str   View Core file (.ycr)
 -c --compile        Compile one file only (default=off)

Compilation Options:

    --redefine       Don't complain if redefining an imported identifier 
                     (default=off)
    --unix           Use unix file names (default=on)
    --unlit          Unliterate the source code (default=off)
    --cpp            Pre-process the file first (default=off)
    --prelude        Keep prelude definitions in interface file (default=off)
    --lib            Compiling a lib, don't complain if importing modules with 
                     names that differs from their filename. (default=off)
    --unifyhack      Enable nasty type hack that's needed to make the prelude 
                     compile ... (default=off)

Compliance Options:

    --underscore     Enable H'98 underscore-is-lower-case (default=off)
    --puns           Enable pre-98 named-field puns (default=on)
    --98             Haskell 98 compliance (default=off)

Help Options:

 -v --version        Show version information (default=off)
 -? --help           Show all options and useage information (default=off)

Core Options:

    --core           generate a .ycr binary file (default=off)
    --showcore       show the Core language (default=off)
    --linkcore       generate a linked .yca binary file (default=off)

Debug Options:

    --lex            show lexical input (default=off)
    --parse          show syntax tree after parser (default=off)
    --need           show need table before import (default=off)
    --ineed          show need table after import (default=off)
    --irename        show rename table after import (default=off)
    --iineed         show need table between all import files (default=off)
    --iirename       show rename table between all imports (default=off)
    --rename         show syntax tree after rename (default=off)
    --derive         show syntax tree after derive (default=off)
    --remove         show syntax tree after fields are removed (translated into 
                     selectors) (default=off)
    --scc            show syntax tree after splitting into strongly connected 
                     groups (default=off)
    --type           show syntax tree after type check (default=off)
    --fixsyntax      show syntax tree after removing newtype constructors and 
                     fixing Class.Type.metod (default=off)
    --lift           show syntax tree after lambda lifting (default=off)
    --case           show stg tree after simplification of patterns 
                     (default=off)
    --prim           show stg tree after inserting primitive functions 
                     (default=off)
    --bcodecompile   show B code after compile (default=off)
    --bcodemem       show B code after heap usage analysis (default=off)
    --bcodeflatten   show B code after flattening (default=off)
    --bcoderel       show B code after converting to relative jumps 
                     (default=off)
    --keepcase       Don't lift case, we fix those later (default=off)
    --arity          show stg tree after arity (default=off)
    --ibound         show symbol table after import (default=off)
    --iibound        show symbol table between all import files (default=off)
    --rbound         show symbol table after rename (default=off)
    --dbound         show symbol table after derive (default=off)
    --pbound         show symbol table after inserting primitive functions 
                     (default=off)
    --ebound         show symbol table after extract (default=off)
    --tbound         show symbol table after type check (default=off)
    --fsbound        show symbol table after adding Class.Type.method info 
                     (default=off)
    --lbound         show symbol table after lambda lifting (default=off)
    --cbound         show symbol table after simplification of pattern 
                     (default=off)
    --abound         show symbol table after only atoms in applications 
                     (default=off)
    --import         print name of imported files (default=off)
    --depend         print imported identifiers that are used (not even alpha 
                     yet) (default=off)
    --free           show stg tree with explicitly free variables (default=off)
    --atom           show stg tree after only atoms in applications 
                     (default=off)
    --funnames       insert position and name of functions in the code 
                     (default=off)
    --ilex           show lexical input (default=off)
    --report-imports show only imports actually used (default=off)
    --showtype       report type of "main" (default=off)
    --showwidth num  set width for showing intermediate program (default=80)
    --showindent num set indentation for nesting (default=2)
    --showqualified  show qualified ids as far as possible (default=on)


Environment variables:

    YHC_BASE_PATH    The path to the Yhc compiler base directory
    PATH             The search path is used to find the compiler,
                     if YHC_BASE_PATH is not specified