3

考虑Foo.hs

module Foo where

foo :: Num t => t
foo = 3

像这样运行ghc-mod -type它只会给我t签名的类型foo,即使声明已经附加了完整的类型签名:

$ ghc-mod type src/Foo.hs 4 1
4 1 4 8 "t"

当想要ghc-mod用于将类型添加到没有类型的声明时,这将变得非常有限制。

有没有办法从中获取完整类型ghc-mod

或者,可以使用哪些工具来代替ghc-mod实现这一目标?这些工具能否与ghc-mod, 一起使用(例如在 Emacs 中)?


编辑: stack-ide也报告类型t不是完整的Num t => t

[nil] -> {"tag":"RequestGetExpTypes","contents":{"spanFilePath":"src\/Foo.hs","spanFromLine":4,"spanFromColumn":1,"spanToLine":4,"spanToColumn":4}}
 <- {"tag":"ResponseGetExpTypes","contents":[["t",{"spanFromLine":4,"spanFilePath":"src/Foo.hs","spanToColumn":4,"spanFromColumn":1,"spanToLine":4}]]}
4

0 回答 0