こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。
defmulti
関数型プログラミングのなかでポリモーフィズムを実現するための修飾子が用意されているのは面白いという話をしていきました。
その後具体的な実装としてdefmultiを見ていき、get-pay-classの値(id)によってどのように振る舞いを変化させるのかを指定することができることを確認していきました。
P110のコードを読み解く
defmultiの具体的な実装方法や無名関数(#, %)の具体的な使い方などを調べながら、P110のコードが何を指し示しているのかをコードリーディングしてきました。
関数型プログラミングとオブジェクト指向
データと処理をまとめたいのかデータと処理を分離したいのかという話が違ってくるものの基本的にはポリモーフィズムというレベルでのオブジェクト指向は関数型プログラミングの中でも取り入れることができているという話をしていきました。
Factoryパターンの話などはその良い例だという意見も出ていました。
デザインパターン
デザインパターンの中でも上記で話題に出たFactoryパターンなどは、関数型言語でも有用なものであり、関数型言語でプログラムを書いていてもぶち当たる問題に対してのソリューションなので、こういうデザインパターンは本質的な問題を扱っているデザインパターンだと言えるのかもしれないという話をしていきました。*1
ファイル分割のやり方
関数型プログラミングのファイル分割の仕方とオブジェクト指向言語でのファイル分割の仕方を比べ、どちらのほうが変更に強そうなのか?という話をしていきました。
どちらもさすがにきれいに分けられていて、現時点だとなかなか評価が難しそうだという結論になりました。
全体を通した感想
なんか徐々に関数型プログラミング言語(Clojure)が読めるようになってきているぞ??という声が出ていたのが面白かったですw