7

OCaml メーリング リストで人々に迷惑をかける前に、ここに質問を投稿しようと考えていました。この美しさを発見しました(Concoqtion の Web サイトへのリンク)。Concoqtion は MetaOCaml の拡張であり、インデックス付きの型 (およびおそらくそれ以上) を許可します。これを使用すると、リストの長さも含むタイプのリストを簡単に作成できます。

type ('n:'(nat),'a) listl =
   | Nil : ('(0),'a) listl
   | Cons of let 'm:'(nat) in 'a * ('(m),'a) listl : ('(m+1),'a) listl

これ(m+1)は型レベルで行われます。とてもきれいです。

ただし、最後のバージョンは 2007 年のものです (OCaml 3.08)。このプロジェクトがキャンセルされた理由、または今日の OCaml に類似したものがあるかどうか、誰か考えていますか?

4

1 に答える 1