teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

追記であることを明確に

2020/01/15 03:18

投稿

igrep
igrep

スコア433

answer CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型にできることがわかるでしょう。
7
7
 
8
- **注意:** @kakkun61 さんの指摘通り、以下のコードは`ExtendedDefaultRules`というGHCの言語拡張を有効にしないと動きません。
8
+ **追記: ⚠️注意⚠️** @kakkun61 さんの指摘通り、以下のコードは`ExtendedDefaultRules`というGHCの言語拡張を有効にしないと動きません。
9
9
 
10
10
  ```
11
11
  -- わかりやすさのため、デフォルトの型が

4

ExtendedDefaultRulesについて注記

2020/01/15 03:18

投稿

igrep
igrep

スコア433

answer CHANGED
@@ -5,6 +5,8 @@
5
5
 
6
6
  GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型にできることがわかるでしょう。
7
7
 
8
+ **注意:** @kakkun61 さんの指摘通り、以下のコードは`ExtendedDefaultRules`というGHCの言語拡張を有効にしないと動きません。
9
+
8
10
  ```
9
11
  -- わかりやすさのため、デフォルトの型が
10
12
  -- 使用された場合に警告が出るようにする

3

細かい表現の修正

2020/01/15 03:16

投稿

igrep
igrep

スコア433

answer CHANGED
@@ -1,9 +1,9 @@
1
1
  > Foldable型クラスのデフォルトの型?は[]である事が分かりますが、型クラスのデフォルトの型?の設定・変更を自前ですることは出来ますか?
2
2
 
3
3
  `default`という宣言を使用すると、宣言したモジュールの中限定で変更することができます。
4
- (ただし、GHC 8.8の場合宣言した型は`‘Num’ or ‘Show’ or ‘Eq’ or ‘Ord’ or ‘Foldable’ or ‘Traversable’`でないといけないそうです)
4
+ (ただし、GHC 8.8の場合宣言した型は`‘Num’ or ‘Show’ or ‘Eq’ or ‘Ord’ or ‘Foldable’ or ‘Traversable’`のインスタンスでないといけないそうです)
5
5
 
6
- GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型にすることができることがわかるでしょう。
6
+ GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型にできることがわかるでしょう。
7
7
 
8
8
  ```
9
9
  -- わかりやすさのため、デフォルトの型が

2

「デフォルトの型に推論された」 => 「デフォルトの型を使用した」に統一。その方が正確なはず。

2020/01/15 01:10

投稿

igrep
igrep

スコア433

answer CHANGED
@@ -6,8 +6,8 @@
6
6
  GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型にすることができることがわかるでしょう。
7
7
 
8
8
  ```
9
- -- わかりやすさのため、デフォルトの型
9
+ -- わかりやすさのため、デフォルトの型
10
- -- 推論された場合に警告が出るようにする
10
+ -- 使用された場合に警告が出るようにする
11
11
  > :set -Wtype-defaults
12
12
 
13
13
  > data MyDefault = MyDefault deriving Show

1

Haskell 2010標準についての話のために少し文がわかりづらくなっていたので修正

2020/01/14 13:18

投稿

igrep
igrep

スコア433

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  > Foldable型クラスのデフォルトの型?は[]である事が分かりますが、型クラスのデフォルトの型?の設定・変更を自前ですることは出来ますか?
2
2
 
3
- Haskell 2010というHaskellの標準仕様では`Num`型クラスにしか認められていませんが、`default`という宣言を使用すると、宣言したモジュールの中限定で変更することができます。
3
+ `default`という宣言を使用すると、宣言したモジュールの中限定で変更することができます。
4
4
  (ただし、GHC 8.8の場合宣言した型は`‘Num’ or ‘Show’ or ‘Eq’ or ‘Ord’ or ‘Foldable’ or ‘Traversable’`でないといけないそうです)
5
5
 
6
6
  GHCi上で次のように入力すると、自分が作った型を自分が作った型クラスのデフォルトの型にすることができることがわかるでしょう。