如何在Haskell';s OPTPASE应用程序

如何在Haskell';s OPTPASE应用程序,haskell,optparse-applicative,Haskell,Optparse Applicative,我有下面的Haskell代码使用optparse应用程序,它在运行时挂起 main :: IO () main = do printf "Start...\n" args <- execParser $ info args fullDesc printf "Cmdline args: %s\n" (show args) args :: Parser [Integer] args = many (option auto (short 'x'

我有下面的Haskell代码使用optparse应用程序,它在运行时挂起

main :: IO ()
main = do
  printf "Start...\n"
  args <- execParser $ info args fullDesc
  printf "Cmdline args: %s\n" (show args)

args :: Parser [Integer]
args = many (option auto
         (short 'x'
           <> value 1))
main::IO()
main=do
printf“开始…\n”

args我认为,这里的问题在于默认值。只需从解析器修饰符中删除
值1

从以下日期开始:

注意:因为这个修饰符意味着解析器永远不会失败,所以不要将它与组合符(如一些或许多)一起使用,因为这些组合符会一直持续到失败发生为止。因此,不小心使用将导致挂起