高階関数を用いたI/O方法の公開 - DIコンテナから高階関数への更改 - by Kosuke Matsuura

関数型まつり2025
採択
公募セッション25分
公募セッション Beginner Intermediate ライブラリ/フレームワーク Tips 入門

高階関数を用いたI/O方法の公開 - DIコンテナから高階関数への更改 -

momoiroshikibu Kosuke Matsuura momoiroshikibu
1

対象とする聴衆のレベル(該当するレベルを記載してください。)

  • Beginner: 分野の前提知識を必要としない
  • Intermediate: 分野の基礎知識を持っている

セッションのテーマ(該当するテーマを記載してください。なければ追加頂いて良いです)

  • 入門
  • Tips
  • ライブラリやフレームワーク

セッションの概要

高階関数を用いたI/Oの実現方法について、TypeScriptでの例をご紹介します。

関数型プログラミングでは、高階関数や部分適用を活用することで、DIコンテナに依存することなくI/Oを実現することができます。
私の周りでは、オブジェクト指向プログラミングやそのフレームワークに慣れ親しんだプログラマーが関数型プログラミングを学び始める際に、
以下のような戸惑いを感じるケースを見てきました。

  • DIコンテナ無しで依存関係をどのように解決するのか分からない
  • 関数型のアプローチにはDIコンテナを置き換える手段が存在しないように感じられる

私自身も関数型プログラミングを学び始めた当初は、同様の戸惑いを感じていました。
オブジェクト指向プログラミングでは、フレームワークが提供するDIコンテナを使うことは一般的です。
これに慣れていると関数型プログラミングでの設計にギャップを感じることがあります。

私は関数型プログラミングが楽しいですし、実用性も感じています。もっと広まってほしいと願っています。
しかし、上記のような理由で、関数型プログラミングの学習に躓いたりすることもあると思います。

今回のトーク内容としては、以下のような内容を予定しています。

  • 高階関数と部分適用の説明
  • 高階関数を使ったI/Oの例やテストの書き方
  • 実際のWebアプリケーションでの適用例

高階関数や部分適用は実用的なテーマですし、I/Oの実現方法についても関数型プログラミングの魅力の一つだと感じます。
このセッションを通じ、より実用的な関数型プログラミングの知識を共有できると嬉しいです。