我很懒,写了一个 Haskell 模块(使用优秀的 EclipseFP IDE),没有给我的顶级函数提供类型签名。
EclipseFP 使用 HLint 自动标记每个有问题的功能,我可以通过 4 次鼠标点击来修复每个功能。有效,但乏味。
是否有一个实用程序可以扫描 .hs 文件,并发出修改后的版本,为每个顶级函数添加类型签名?
例子:
./addTypeSignatures Foo.hs
会读取文件
Foo.hs
:foo x = foo + a
并发出
foo :: Num a => a -> a
foo x = x + 1
工具自动编辑的奖励积分
Foo.hs
到位并保存备份Foo.bak.hs
最佳答案
emacs 有一个 haskell 模式,它具有插入函数类型签名的快捷方式:C-u、C-c、C-t。它不是自动的,您必须为每个功能执行此操作。但是,如果您只有一个模块,则可能需要几分钟才能完成。
关于haskell - 自动将类型签名添加到顶级函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963488/