代码之家  ›  专栏  ›  技术社区  ›  nicolas

使用optparse appapplicative的程序的参数列表(类型)

  •  0
  • nicolas  · 技术社区  · 6 年前

    有没有从命令行程序中提取名称和类型列表的方法,使用 optparse-applicative 是吗?

    我正在寻找某种类型的函数 ParserInfo a -> [(String,TypeRep)]

    1 回复  |  直到 6 年前
        1
  •  2
  •   Daniel Wagner    6 年前

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

    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)
      | -- ...
    

    自从 x 第页,共页 MultP BindP 存在量化而不携带 Typeable constraint,在 Parser a 树在运行时丢失。

    推荐文章