gpt4 book ai didi

haskell - 我应该如何使用包 haskell-type-exts?

转载 作者:行者123 更新时间:2023-12-03 23:58:35 27 4
gpt4 key购买 nike

我正在尝试对作为字符串提供的代码片段进行类型检查。

我找到了包 haskell-type-exts ( hackage link ),它似乎提供了我需要的东西:使用 parseModule一个 AST 在其上构建 typecheckModule可以应用。但后来我不知道如何处理结果。它的类型为 Tc VarEnv在哪里 Tc是一个单子(monad)。

该包提供了一个测试用例,其中使用了类似的东西:

ea <- runTc testEnv $ typecheckExp e

但是 runTc位于隐藏模块中,因此我无法使用它。这是我到目前为止的代码:
import Language.Haskell.Exts.Parser (parseModule, ParseResult(..))
import Language.Haskell.TypeCheck.TypeCheck
-- import Language.Haskell.TypeCheck.Monad --hidden module

main = do
let m = "myTest = map (+1) [1..10]"
let r = parseModule m
case r of
ParseOk res -> printStuff res
_ -> print "wtf"

printStuff r = do
let Right tc = return $ typecheckModule r
-- print tc?

我在这里想念什么?也许模块只是被错误地隐藏了?

最佳答案

我认为这个包还没有准备好使用。看看source of Language.Haskell.TypeCheck .例如 typeCheck = undefined当然是类型检查!

您可以尝试使用 GHC-API(Haddock 和 Wiki 页面)。

关于haskell - 我应该如何使用包 haskell-type-exts?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17510974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com