型と整数
http://d.hatena.ne.jp/m-hiyama/20080118/1200624718 にしたコメント
proj<0>
Haskell の名前付きフィールドを連想しましたが、たぶんそういうことではない
のでしょうね。
型パラメータと値パラメータは違うか、ということでしたら、
ペアノ算術風に
class ZERO;
class SUC;
を型で定義して、パターンマッチができるならば本質的には何も変わらず、
値パラメータは略記だ、と思えばよいのではないでしょうか。
以前、
http://ripjohn.net/diary/2008_04.html#D2008_04_05
mmap 0 = id
…
mmap 3 = map . map . map
というような関数を考えた。これは Haskell の型付けではもちろんできない。
うーん。きれいにこういったものを受け入れられるような型システムはあるのかな。
型ではないが template Haskell?