我希望有一个 TemplateHaskell 函数
是否已经存在我需要的函数但我忽略了它? 或者说有没有办法轻松地构建它?
variablesInScope :: Q [Name]
,返回当前作用域中所有变量的Name
列表。显然,TemplateHaskell 已经可以获取这个信息并实现一些函数,例如 reify :: Name -> Q Info
和 lookupValueName :: String -> Q (Maybe Name)
。是否已经存在我需要的函数但我忽略了它? 或者说有没有办法轻松地构建它?
haskell-src-meta
将Haskell模块解析为TH AST。 - user2407038Q
单子的IO特性来加载模块,然后将其发送到haskell-src-meta
吗?哎呀。此外,这无法消除在剪辑所在的特定范围内要使用哪个名称的歧义。 - Mike Izbickiprint
的变量,那么System.IO
中的print
将不再在范围内。因此,variablesInScope
的结果相当依赖于代码片段出现的位置。 - Mike Izbicki