Haskell, ITこの記事はHaskell Advent Calendar 2013の3日目の記事です。 目次どうして?ファンクタを拡張しようおさらい引数をふたつ取ろう逆転の発想共変・反変・自由変・固定変データ型の整理正の位置と負の位置自由変と固定変ファンクタ類を自動生成しようまとめおまけThornについてCPLであそぼう どうして?ファンクタはHaskellに欠かせないものですが、ファンクタを一般化して見るという見方は意外に広まっていないように感じます。分かってしまえば単純な話だけにもったいないと思ってこの記事を書くことにしました。 また、僕は最近Thornというライブラリを作りました。これは、さまざまなデータ型から関手や畳み込み・展開をTemplate Haskellを使って自動生成するライブラリです。このライブラリを作るなかで気づいたことも合わせて書いていこうと思います。 ファン