Haskell

実体のある型レベル自然数をHaskellで実装してみた

GHC では型システムが急速に進化していて、ついに型レベル自然数 (type-level natural number) も組み込まれました。この型レベル自然数は、0, 1, 2, ... というリテラルによって型レベル自然数を得られ、足し算・掛け算・冪乗・引き算・比較が可能です。考…

ファンクタであそぼう

この記事はHaskell Advent Calendar 2013の3日目の記事です。 目次 どうして? ファンクタを拡張しよう おさらい 引数をふたつ取ろう 逆転の発想 共変・反変・自由変・固定変 データ型の整理 正の位置と負の位置 自由変と固定変 ファンクタ類を自動生成しよ…