Add `-W(no-)xxx` aliases for `-f(no-)warn-xxx` flags
[ghc.git] / docs / users_guide / runghc.rst
1 .. _runghc:
2
3 Using runghc
4 ============
5
6 .. index::
7    single: runghc
8
9 ``runghc`` allows you to run Haskell programs without first having to
10 compile them.
11
12 .. _runghc-introduction:
13
14 Flags
15 -----
16
17 The ``runghc`` command-line looks like:
18
19 ::
20
21     runghc [runghc flags] [GHC flags] module [program args]
22
23 The runghc flags are ``-f /path/to/ghc``, which tells runghc which GHC
24 to use to run the program, and ``--help``, which prints usage
25 information. If it is not given then runghc will search for GHC in the
26 directories in the system search path.
27
28 runghc will try to work out where the boundaries between
29 ``[runghc flags]`` and ``[GHC flags]``, and ``[program args]`` and
30 ``module`` are, but you can use a ``--`` flag if it doesn't get it
31 right. For example, ``runghc -- -Wunused-bindings Foo`` means
32 runghc won't try to use ``warn-unused-bindings`` as the path to GHC, but
33 instead will pass the flag to GHC. If a GHC flag doesn't start with a
34 dash then you need to prefix it with ``--ghc-arg=`` or runghc will think
35 that it is the program to run, e.g.
36 ``runghc -package-db --ghc-arg=foo.conf Main.hs``.