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

質問編集履歴

1

2019/11/14 04:38

投稿

mightyMask
mightyMask

スコア143

title CHANGED
File without changes
body CHANGED
@@ -3,4 +3,11 @@
3
3
  やりたい事の具体例を2つ挙げると、
4
4
  1. なんらかの型`T`に対して、`instance Ord T`だけを書き換えて順序付けを変更する。
5
5
  `T`の他の機能はそのまま使えるようにしつつ、いちいちsortByとかを使わなくて良いようにするため。
6
- 2. `instance Show (Tree a)`を書き換えて、木構造を字下げ構文で表現するようにする。
6
+ 2. `instance Show (Tree a)`を書き換えて、木構造を字下げ構文で表現するようにする。
7
+
8
+ # 追記
9
+ `GeneralizedNewtypeDeriving`を利用して妥協するのも良いのですが、まだ少し不便な部分があります。
10
+ 引き継ぐ前のインスタンスはderivingで引き継げますが、その他は引き継げません。
11
+ 例えば`Int`の`Ord`以外を引き継いだとして、その他の四則演算などの関数は全て定義し直しです。
12
+ また`Tree a`を引き継いだ場合、`Eq`とかは引き継げますが、`Functor`とかは引き継げないです。
13
+ この辺を解決するのはやはり無理ですかね?