LINQ IQueryable provider を作る方法

http://blogs.msdn.com/mattwar/default.aspx

IQueryableを実装して LINQ to hoge を作る方法が連載されています。インタプリタパターンでミニ言語を作る方法そのものなので、あまりお目にかかれないVisitorパターンとインタプリタパターンの解説としてもよいかと。
実際にIQueryableを拡張することなんかなさそうだけど、おもしろそう。すでに効率的な検索処理を持っているシステムやら、サーバーやらにLINQでクエリーを投げたいってときは拡張するべきですね。LINQ to LDAPとか、ぐぐれば出てきます。ほかにどんな場面で拡張したほうがいいのやら。思いつきませぬ。