回答編集履歴
5
追記であることを明確に
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
**注意
|
15
|
+
**追記: ⚠️注意⚠️** @kakkun61 さんの指摘通り、以下のコードは`ExtendedDefaultRules`というGHCの言語拡張を有効にしないと動きません。
|
16
16
|
|
17
17
|
|
18
18
|
|
4
ExtendedDefaultRulesについて注記
test
CHANGED
@@ -9,6 +9,10 @@
|
|
9
9
|
|
10
10
|
|
11
11
|
GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型にできることがわかるでしょう。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
**注意:** @kakkun61 さんの指摘通り、以下のコードは`ExtendedDefaultRules`というGHCの言語拡張を有効にしないと動きません。
|
12
16
|
|
13
17
|
|
14
18
|
|
3
細かい表現の修正
test
CHANGED
@@ -4,11 +4,11 @@
|
|
4
4
|
|
5
5
|
`default`という宣言を使用すると、宣言したモジュールの中限定で変更することができます。
|
6
6
|
|
7
|
-
(ただし、GHC 8.8の場合宣言した型は`‘Num’ or ‘Show’ or ‘Eq’ or ‘Ord’ or ‘Foldable’ or ‘Traversable’`でないといけないそうです)
|
7
|
+
(ただし、GHC 8.8の場合宣言した型は`‘Num’ or ‘Show’ or ‘Eq’ or ‘Ord’ or ‘Foldable’ or ‘Traversable’`のインスタンスでないといけないそうです)
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型に
|
11
|
+
GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型にできることがわかるでしょう。
|
12
12
|
|
13
13
|
|
14
14
|
|
2
「デフォルトの型に推論された」 => 「デフォルトの型を使用した」に統一。その方が正確なはず。
test
CHANGED
@@ -14,9 +14,9 @@
|
|
14
14
|
|
15
15
|
```
|
16
16
|
|
17
|
-
-- わかりやすさのため、デフォルトの型
|
17
|
+
-- わかりやすさのため、デフォルトの型が
|
18
18
|
|
19
|
-
--
|
19
|
+
-- 使用された場合に警告が出るようにする
|
20
20
|
|
21
21
|
> :set -Wtype-defaults
|
22
22
|
|
1
Haskell 2010標準についての話のために少し文がわかりづらくなっていたので修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
`default`という宣言を使用すると、宣言したモジュールの中限定で変更することができます。
|
6
6
|
|
7
7
|
(ただし、GHC 8.8の場合宣言した型は`‘Num’ or ‘Show’ or ‘Eq’ or ‘Ord’ or ‘Foldable’ or ‘Traversable’`でないといけないそうです)
|
8
8
|
|