weeder:使用HIE文件重新实现除草器 源码
除草机 Weeder是用于执行全程序死代码分析的应用程序。 无效代码是已编写的代码,但其他任何代码都无法访问。 在项目的整个生命周期中,这种情况会随着代码的添加和删除而发生,并且永远不会清除剩余的代码。 尽管GHC发出警告以检测死代码是单个模块,但这些警告并没有跨越模块边界-这是Weeder的来龙去脉。 Weeder使用GHC生成的HIE文件-这些文件可以被视为GHC增强的源代码,添加了完整的符号解析和类型信息。 Weeder从这些文件构建依赖关系图,以了解代码如何交互。 一旦完成所有分析,Weeder就会从一组根(例如,您的main函数)中遍历该图,并确定可访问的代码和已死的代码。 使用除草机 准备除草代码 要使用Weeder,您将需要从源代码生成.hie文件。 阴谋 如果您使用Cabal,可以通过在cabal.project.local文件中添加一行来轻松实现: package *
文件列表
weeder-master.zip
(预估有个20文件)
weeder-master
.github
workflows
nix-build.yml
465B
.envrc
23B
nix
sources.nix
5KB
sources.json
2KB
haskell
repline.nix
518B
暂无评论