0
私はアルチョームのアイソーンのチュートリアルを働いている、と自分自身にこのスニペットをコード化されています:このスニペットではどのように型推論が行われますか?
parseFoo (Object obj) = do
a <- case HM.lookup "a" obj of
Just x -> parseJSON x
Nothing -> fail "no field 'a'"
return a
私はreturn True
場合、私は「あいまいな参照」エラーが出ることに気付きました:
No instance for (FromJSON t0) arising from a use of ‘parseJSON’
The type variable ‘t0’ is ambiguous
Note: there are several potential instances:
...
を非あいまいな例タイプは
parseFoo :: FromJSON b => Value -> Parser b
私の質問は、なぜ(どのように)a
がを必要としない、ですその型を推論する3210ステートメント