回答編集履歴
2
句読点編集
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
厳密に GHC の型推論の処理を追ったわけではないので多分に推測であることを了承ください。
|
2
2
|
|
3
|
-
`(/)` の型は `a -> a -> a` です
|
3
|
+
`(/)` の型は `a -> a -> a` です([ドキュメント](http://hackage.haskell.org/package/base-4.12.0.0/docs/Prelude.html#v:-47-))。なので `a :: Int` と `b :: Int` であることと合わせて考えると、`a / b` の型が `Int` であると導き出されます。これが actual type です。
|
4
4
|
|
5
5
|
注釈した `Double` が expected type となり、2つの比較した結果の不一致が質問の1つめのエラーです。
|
6
6
|
|
1
段落編集
answer
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
厳密に GHC の型推論の処理を追ったわけではないので多分に推測であることを了承ください。
|
2
2
|
|
3
|
-
`(/)` の型は `a -> a -> a` です。([ドキュメント](http://hackage.haskell.org/package/base-4.12.0.0/docs/Prelude.html#v:-47-))
|
3
|
+
`(/)` の型は `a -> a -> a` です。([ドキュメント](http://hackage.haskell.org/package/base-4.12.0.0/docs/Prelude.html#v:-47-))なので `a :: Int` と `b :: Int` であることと合わせて考えると、`a / b` の型が `Int` であると導き出されます。これが actual type です。
|
4
4
|
|
5
|
-
なので `a :: Int` と `b :: Int` であることと合わせて考えると、`a / b` の型が `Int` であると導き出されます。これが actual type です。
|
6
|
-
|
7
5
|
注釈した `Double` が expected type となり、2つの比較した結果の不一致が質問の1つめのエラーです。
|
8
6
|
|
9
7
|
次に、`a / b :: Int` と注釈すると上記の型検査はパスします。
|