[GHC] #12517: Simplify runghc command line options
GHC
ghc-devs at haskell.org
Sun Aug 28 09:58:39 UTC 2016
#12517: Simplify runghc command line options
-------------------------------------+-------------------------------------
Reporter: harendra | Owner: harendra
Type: bug | Status: new
Priority: normal | Milestone:
Component: None | Version: 8.0.1
Resolution: | Keywords: runghc
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by thomie):
How about this:
{{{
runghc [runghc flags] module|filename [GHC flags] [-- [program args]]
}}}
Clarification:
* `runghc -package ..` would be an error, because `-package` is not a
runghc flag, nor is it a valid module or filename.
Note that GHC doesn't even support filenames starting with a dash (try
`ghc -hello.hs`), so I don't understand why the following hack even
exists:
{{{
pastArgs :: String -> Bool
-- You can use -- to mark the end of the flags, in case you need to use
-- a file called -foo.hs for some reason. You almost certainly shouldn't,
-- though.
pastArgs "--" = True
pastArgs ('-':_) = False
pastArgs _ = True
}}}
* `"--"` is no longer overloaded. It just separates the GHC flags from the
program arguments, and to pass program arguments you //have to// use
`"--"`. This is an improvement, because currently you might think that
`-v` in `runghc hello.hs -v` is a GHC flag, while it is actually a program
arguments (and might silently get ignored).
* `--ghc-arg` can be deprecated
* Your example would become: `runghc hello.hs -package text-1.2.2.1`
Are there any drawbacks to this approach (other than also breaking
backward compatibility)?
Fwiw: currenly, your example can also be solved without `--ghc-arg` using:
`runghc -package=text-1.2.2.1 hello.hs`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12517#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list