これって関数型のデザインパターンの記事なの? | さすらいびとの徒然漂流記

さすらいびとの徒然漂流記

ふらふら漂流するさすらいびとのように,色々な話題についてお気楽極楽,徒然なるままに…

ってことでdeveloperWorksの以下のシリーズの記事を読んでみてがっかり.



関数型の考え方: 関数型のデザイン・パターン、第 1 回



まだ第3回 までだけど,これって単にGoFのデザインパターンのGroovyでの
実装方法の解説じゃん.
てっきり関数型言語でのデザインパターンが紹介されているのかと
思って読んで期待を裏切られちまったよ.


第1回 ではTemplateMethodパターンでの?.演算子による未実装対応の
簡略化とか,Flyweightパターンでのファクトリでのプロダクトのメモ化とか,
関数型言語の機能じゃなくてGroovyの機能じゃんってモノばかり.


第2回 のAdapterパターンなんかは,クラスのインターセッションやら
動的クラスやらだし,これってオブジェクト指向でしょってはなしだよね.
最後の関数アダプターなんか,これってもうGoFのAdapterパターンすら
関係なくなっているじゃん.


第3回 はInterpreterパターンがかなり飛躍した解釈されているし.
でもって,DSLの例かと思ったら,例はoperator overridingってかなり狭い
ことになっているんだけど…
ここで,他の言語としてScalaも出てきたね.
他のパターンはどうしたって感じだけど.



そもそもfunctional design(関数型設計?関数指向設計?)とか
functional analysis(関数型分析?関数指向分析?)とかってあるの?
でもって,そのパターンってのがあるのかって話だね.


百歩譲ったとしても,せいぜいここであげられているのは
ほとんどGroovy idiomだと思うのだが.



そもそも関数型言語開発で使われる本当のデザインパターンが

知りたいんだけど,誰かまとめていないのかな?