GetOpt bug causing it to mistakenly reject options as ambiguous

Eelis van der Weegen haskell-libs at
Fri Mar 7 08:16:07 EST 2008

[This is a resend; I tried to post through gmane but the message never arrived.]

There is a bug in System.Console.GetOpt causing it to mistakenly reject
options as ambiguous.


> import System.Console.GetOpt
> type Color = String
> optsDesc :: [OptDescr Color]
> optsDesc = [Option "" ["color", "colour"] (ReqArg id "color") "Foreground color"]
> main = do
>   let args = ["--col=blue"]
>   case getOpt RequireOrder optsDesc args of
>     (_, _, err:_) -> putStrLn err
>     _ -> return ()


  option `--col' is ambiguous; could be one of:
      --color=color, --colour=color  Foreground color
      --color=color, --colour=color  Foreground color

This error is silly, because the two alternatives listed are the same

The problem is caused by incorrect use of a generator in a list

I've attached a patch that fixes the problem.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: GetOpt.hs.diff
Type: text/x-patch
Size: 861 bytes
Desc: not available
Url :

More information about the Libraries mailing list