Parsing Haskell src exts包示例

Parsing Haskell src exts包示例,parsing,haskell,haskell-src-exts,Parsing,Haskell,Haskell Src Exts,我正在与Haskell合作,我想为这种语言构建一个类型检查器。要做到这一点,我需要一种方法来解析它,我知道Haskell src exts非常适合这项工作。然而,我一点也不知道这个软件包是如何工作的;我试图在互联网上找到一些示例/教程,但没有任何结果。有人能帮我吗?有人知道一些教程吗,或者可以给我参考一本书,里面有关于这个软件包的例子?我也愿意尝试另一个软件包,如果它描述得很好,并且附带了大量示例。一个方便的入口点是parseFile。如果使用以下程序来解析自身: module HelloPar

我正在与Haskell合作,我想为这种语言构建一个类型检查器。要做到这一点,我需要一种方法来解析它,我知道Haskell src exts非常适合这项工作。然而,我一点也不知道这个软件包是如何工作的;我试图在互联网上找到一些示例/教程,但没有任何结果。有人能帮我吗?有人知道一些教程吗,或者可以给我参考一本书,里面有关于这个软件包的例子?我也愿意尝试另一个软件包,如果它描述得很好,并且附带了大量示例。

一个方便的入口点是
parseFile
。如果使用以下程序来解析自身:

module HelloParser where

import Language.Haskell.Exts

main = print =<< parseFile "HelloParser.hs"
这似乎相对可读


为了完成Haskell的类型检查任务,我认为没有任何方法可以避免单独考虑
Language.Haskell.Exts.Syntax
和其他包模块中的数百种解析树数据类型和构造函数,因此我不确定更深入的教程能为您提供多少帮助。

嗨,Enrico,欢迎来到堆栈溢出。不幸的是,这类问题通常是封闭的。以下是一些讨论适当问题的文章:专门要求教程和书籍的问题被认为是不合适的。也许另一位评论者可以给你更好的指导,告诉你该去哪里解决这个问题。我在谷歌上快速搜索了一下,也没找到什么。谢谢你的建议。在未来,我会更加小心地发布问题。好吧,它仍然是开放的,你得到了一个高声誉会员的答复。到目前为止一切都很顺利。至少在库中输入一个条目,您可能会发现其余文档更容易阅读。我在Haskell模块的学习中遇到了很多问题。
ParseOk
  (Module (Just (ModuleHead (ModuleName "HelloParser") Nothing Nothing)) []
    [ ImportDecl { importModule = ModuleName "Language.Haskell.Exts"
                 , importQualified = False
                 , importSrc = False
                 , importSafe = False
                 , importPkg = Nothing
                 , importAs = Nothing
                 , importSpecs = Nothing} ]
    [ PatBind
      (PVar (Ident "main"))
      (UnGuardedRhs (InfixApp
                      (Var (UnQual (Ident "print")))
                      (QVarOp (UnQual (Symbol "=<<")))
                      (App
                        (Var (UnQual (Ident "parseFile")))
                        (Lit (String "HelloParser.hs" "HelloParser.hs")))))
      Nothing ])