generated at
GHC.Generics
以下のようなものを提供する
代数的データ型を抽象化したデータ型
など
代数データ型を抽象化したデータ型は、
具体的には U1 (:+:) などで、
これらを組み合わせることで任意の代数データ型を構築できる

何が嬉しいのか




U1 とか :+: とかについて










docsの説明、異常にわかりにくくない?mrsekut
derivingしないで実装することはあるのか
多相な関数とかとはどのように質が異なるのか
つまり、hsの普通の肩変数を用いた定義とはどう異なるのか
f::a->a->a
tsでのgenericsってパラメトリック多相な関数のことを指すと思うけどそれとは違うのか
どういう型の知識が必要か
具体的に言えば、どういうGHC拡張の理解が必要か
関連するGHC拡張はなにか
DeriveGenric
TypeOperators
Generic1 ってなに?
圏論で言えば、どの辺の概念になるのか
:+: とか見ると、??ってなるけど、Genericで生成された型を見る#611e01e11982700000ac7615とか見たら直積onlyを感じられる
どの記事を最初に読むのが良い?
pursのgenricsもだいたい同じ話なのか?
活用例



別に6つのinstanceにする必要はないのね
中途半端にinstanceにしてたら変になったりするの #??


データ型を抽象化して関数、メソッド、データ構造等を実装するプログラミング手法
ADTを更に抽象化するのね




ここに書いてる定義はあくまで例であり、一般的な定義ではない #??