Software Design 202511
つまみぐい関数型プログラミング
ElmはJSに変換される関数型言語である。
Elmでは、副作用を直接扱うのではなく、「副作用を起こすための命令」として、
Cmd
という特殊な型で別に扱うことで、関数本体を純粋に保っている。
カリー化などで外から副作用をInjectするのではなく、
純粋関数の実行結果としてCmdを受け取り、それをElmランタイムが実行し、
得られた結果を別の純粋関数に渡していく、という点が面白い。
Result(Ok,Err)
で成否を表現する。
ScalaはJVM上で動く関数型言語である。
関数型とオブジェクト指向を融合しているのが特徴。
enumで代数的データ型を定義する。enumはインスタンスメソッド的なものを持てる。
クラスメソッド的なものは「コンパニオンオブジェクト」で定義する。
Either(Left,Right)
で成否を表現する。