今作っている言語内DSLは、高階関数でパーサーコンビネータっぽい構造でやっている。 これは明らかにある種のデザインパターンと思うのだが、 パターンカタログの形で見た事は自分は無い。(どこかにはあるのかもしれないが)

デザインパターンのアイデアの革新的だったところはパターンカタログという同じ形式でこのイディオムより一回り大きい規模のデザインをまとめるところにあったと思う。 だがその後の進展を見ると、POSAやPoEAAくらいまでは更新もあったが、 その辺でパターンカタログの更新は終わっている気がする。 例えば上記のパーサーコンビネータなどで流行ったスタイルは、 関数型言語を学ぶ時に学んで、それを別の言語に展開する、という形で他の言語に広まっていると思う。 こういうものは結構多い。

デザインパターンは言語に依るのだが、Javaで作られたパターンがその後長いこと聖典のように扱われてしまったせいで、パターンカタログの形で集める、という部分が軽視されてしまったように思う。 たとえばPythonのパターンカタログを作ろう、という試みは一応行われているが、いつも原典のJavaのパターンを翻訳する事に力が注がれて、そこにちょろっと新しいのがたされる、くらいになってしまっていると思う。 過半数を締めているJavaのパターンを翻訳したものはPythonではほとんど使われていないか、使われていても言語の特性上パターンと呼ぶ程のものでも無いのがほとんどなので、パターンカタログ自体がほとんど参照されない。

最近の言語は表現力が増した結果、イディオムのカバーする範囲が広がった、という事もあると思う。 だからイディオムの重要度が上がって、どうしてもパターンの規模のものは役立たずなものになりがちに思う。

だが上記の高階関数での言語内DSLなんかのような明らかなパターンというのはいくつかあるのだから、現時点でのパターンをちゃんとJavaのやつは無視して作ればそれなりに価値のあるものが作れると思うのだけどね。