OCamlメーリングリストのメンバーを盗聴する前に、私はここに質問を投稿するかもしれないと思った。私はちょうどこれを発見したbeauty(Concoqtionのウェブサイトへのリンク)。 ConcoqtionはMetaOCamlの拡張版であり、インデックス付きの型を可能にします(さらに多分)。Concoqtion(Coq + 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に似た何かがあるかどうか誰にも知らせてください。
OCaml 4.00.1ベースのBER MetaOCamlまで、MetaOCamlはOCaml以降のバージョンに移植されていないため、詳細は忘れてしまいましたが、MetaOCamlはメンテナンスを容易にするためにOCamlの内部的な変更が必要でした。 – camlspotter