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可以获得“仅名称”