[英]Get all functions/values in scope with template haskell
使用模板haskell,是否可以列出作用域中的所有功能? 就像是
allVarsInScope :: Q [Name]
我要尝试执行的操作是获取以test_开头的所有导入函数的列表,并自动运行测试。
可悲的是,Template Haskell中没有这种反射功能,但是有解决方法。 但是,在您自己编写类似代码之前,建议您尝试使用test-framework-th程序包,该程序包已经对以case_开头的HUnit测试以及以prop_开头的case_
属性进行了prop_
。
在后台,该程序包使用language-haskell-extract程序包,该程序包实际上在模块上运行其自己的解析过程以选择定义。 这是一个有点棘手的解决方案,但在实践中效果很好。 但是,它确实带来了大量的依赖关系,并且额外的解析过程可能会减慢您的构建速度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.