別の関数内の関数について推論した型について ghci を照会することは可能ですか?
3 に答える
22
これは簡単で醜いハックですが、私が通常行うことは、関数を間違った方法で使用し、エラー メッセージを読むことです。
inc x = x + 1
where
f (y, z) = y + z
g = f :: Char
GHCi 出力:
Couldn't match expected type `Char'
against inferred type `(t, t) -> t'
In the expression: f :: Char
これは文脈Num t =>
を省きますが、通常は続行するのに十分な情報を提供してくれます。
于 2010-01-24T20:46:11.513 に答える
12
関数にブレークポイントを設定して、関数がデバッガーのスコープ内にあるようにすることもできます。
また、EclipseFP は、マウスをそれらの上に置くと、少なくとも時々、その種類を教えてくれると思います。
于 2010-01-24T20:31:23.567 に答える
7
GHC 7.8 以降で`asTypeOf` _
は、式に追加するだけです。
詳細な説明については、型付きホールで式/関数の型を調べるを参照してください。
于 2014-03-13T14:46:48.623 に答える