Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell (键入)使用optparse AppApplication的程序的参数列表_Haskell_Optparse Applicative - Fatal编程技术网

Haskell (键入)使用optparse AppApplication的程序的参数列表

Haskell (键入)使用optparse AppApplication的程序的参数列表,haskell,optparse-applicative,Haskell,Optparse Applicative,是否有一种方法可以从命令行程序中提取名称和类型列表,该程序使用optpass applicative 我正在+/-寻找类型为ParserInfo a->[(字符串,TypeRep)]的函数不,没有办法。相关位为: data ParserInfo a = ParserInfo { infoParser :: Parser a , -- ... } data Parser a = forall x . MultP (Parser (x -> a)) (Par

是否有一种方法可以从命令行程序中提取名称和类型列表,该程序使用
optpass applicative


我正在+/-寻找类型为
ParserInfo a->[(字符串,TypeRep)]
的函数不,没有办法。相关位为:

data ParserInfo a = ParserInfo   
    { infoParser :: Parser a
    , -- ...
    }

data Parser a
  = forall x . MultP (Parser (x -> a)) (Parser x)
  | forall x . BindP (Parser x) (x -> Parser a)
  | -- ...

由于
MultP
BindP
x
s是存在量化的,并且不带有
Typeable
约束,在
解析器a
树的叶子上使用的类型信息在运行时丢失。

不,没有办法。相关位为:

data ParserInfo a = ParserInfo   
    { infoParser :: Parser a
    , -- ...
    }

data Parser a
  = forall x . MultP (Parser (x -> a)) (Parser x)
  | forall x . BindP (Parser x) (x -> Parser a)
  | -- ...
由于
MultP
BindP
x
s是存在量化的,并且不带有
Typeable
约束,因此
解析器a
树的叶子上使用的类型的信息在运行时丢失。

非常重要。使用
work2::Parser a->IO()work2p=(mapParser(\\\->optionNames.optMain)p)和print
great point可以获得“仅名称”。使用
work2::Parser a->IO()work2p=(mapParser(\\\->optionNames.optMain)p)和print可以获得“仅名称”