流れるようなインターフェイス,名前付き引数,クエリ式
C# 4.0 では名前付き引数・省略可能引数が使えるようになるので,シンタックス弄りがもう一段階フリーダムに.シンタックス関連は,深入りすべきなのか適当に引き返すべきなのか,正直よく分からんです.
個人的関心事をざっと列挙してみましたが,網羅的にまとめてくれる人激しく募集.
- 関数/操作のチェインで要求を記述する方法
- 実装技術
- non-intrusive / intrusive という軸
- メソッドチェイン / 演算子オーバーロード という軸 (id:NyaRuRu:20080316:p2)
- Implicit Conversion (Scala)
- 拡張メソッド (C#/Visual Basic)
- 実装技術
- データとして要求を記述する方法
- 実装技術
- 名前付き引数・省略可能引数 (Python / Visual Basic / C# 4.0 / ...)
- ディクショナリ (ハッシュテーブル) の簡易記法 (id:NyaRuRu:20071211:p3)
- JSON
- Anonymous Type (C#) (id:NyaRuRu:20080706:p1)
- Query by Example (id:NyaRuRu:20080617:p1)
- 類似事例から学ぶべきことはないか?
- 実装技術
- 文法レベルで手を加えた言語内 DSL
- 実装技術
- 流れるようなインターフェイスで文法を定義する / 最初から専用文法を定義する の軸
- クエリ式 (C# / Visual Basic)
- 実装技術
- その他
- 問題領域の分類
- ID3DXMatrixStack (行列から行列への変換の連鎖)とか,LINQ (IEnumerable<T> から IEnumerable<U> への変換の連鎖)とか,数学的に見てもそりゃ相性良いでしょうな分野がある (id:NyaRuRu:20080313:p1)
- バージョニング
- テスト
- 問題領域の分類
話は変わりますが,PLINQ もだいぶシンタックスの微調整をやっている感じがありますね.AsSequential とか AsOrdered とか WithDegreeOfParallelism とか.シンタックス好きーは以下お勧め.