「関数型言語では業務は定義できない」という命題に対する考察

関数型は

  • データの加工
  • y = f(x)
  • xという入力に対して、yという出力を行う処理
  • メソッドチェーンによる横型の定義
  • 共通処理を実装する
  • Scalaで言う、関数リテラル

 

業務

  • 状態の変更
  • メールを送る
  • subject という入力に対して、mail -s subject a@hoge.comをevalする
  • 継承による縦型の定義
  • 共通しない処理を実装する
  • Scalaで言う、メソッド