Spec# for Visual Studio .NET 2003 より。
Spec# っていうのは C# のスーパーセットで、
- non-null type (参照型だけど null にできない。Hoge! hoge; のように宣言)
- exception のチェック
- メソッドの contract (Eiffel の表明みたいなやつ)
- オブジェクトの invariant (不変性?具体的にどういう機能なのかよくわからない)
を追加したものとのことです。
# Spec# 自体は、すでに 名無しさん#さんのところ で既出です。
これは、まだペーパーだけなのかな?Microsoft Research の Download を見てもそれらしいのはないですし。
けど blog のタイトルが "for Visual Studio .NET 2003" とやけに具体的ですし、記事の中にも 「Visual Studio と統合された Spec# コンパイラ」 とか 「test generation と model-based testing のための SpecExplorer tool へのインターフェース」 とかって書かれています。Cω みたいにそのうち preview リリースとかがでるのかもしれませんね。
あと、この SpecExplorer というのもちょっと気になります。ググってみると、どうやら model-based testing のツールらしいんですが。。。
それと、いちおう書いておきますが、この Spec# は Cω (シーオメガ) と同じように Microsoft Research (Microsoft の研究機関) で研究中のものです。この先 Spec# や Cω がどうなるのかはなんともいえません。個別の言語としてリリースされる可能性もあるでしょうし、Spec# や Cω の機能の一部が将来の C# に取り込まれるという形になるかもしれません。ひょっとすると F# のように MS Research で育って、(Visual Studio とは関係なく) いつのまにか version 1.0 がリリースされたりするかもしれません。Spec# や Cω はそういった代物です。
ttp://research.microsoft.com/projects/T5/ppt/SpecSharpShort.ppt
返信削除このプレゼンにVS2003で動いてる画面が出てますよ。
意外とサクっとプレビュー版が出てくるかもしれませんね。