関数型まつり2025に参加してきました

関数型まつり2025に参加してきました

2025年6月14日(土)に開催された関数型まつり2025に参加してきました!参加したセッションについてレポートします。
Clock Icon2025.06.15

2025年6月14日(土)に開催された関数型まつり2025に参加してきました!

2日間開催されますが、1日目だけ参加してきたのでレポートをまとめます。

fp-matsuri_ board

関数型まつりについて

https://fortee.jp/2025fp-matsuri

関数型プログラミングのカンファレンスです。去年までScalaMatsuriでしたが、今年から関数型まつりに変わったそうです。

参加したセッション

型システムを知りたい人のための型検査器作成入門 by 遠藤侑介

https://speakerdeck.com/mame/fp-matsuri-2025-bootstrapping-type-checker

関数型まつり2025 - トークページ

  • TypeScriptで簡易的な型検査器を作るプロセスを紹介
  • サポートする要素はリテラル・足し算・条件分岐
  • AST(抽象構文木)と switch を使って型を判定
  • 実装はわずか30行ほどで、最小構成でも動くものが作れる
  • 型環境(map)を使って無名関数や関数呼び出しの型チェックも可能

感想

普段「型は便利なもの」として使っていたけど、その裏側の仕組みを知れるセッションで面白かったです。コードと図があったので視覚的にもわかりやすく、自分でも型検査器を作ってみたいと思いました!

Rust世界の二つのモナド──Rustでもdo式をしてプログラムを直感的に記述する件について by konn

PDF資料リンク

関数型まつり2025 - トークページ

  • Haskellでのdo記法がRustでも使えるという紹介
  • qualified_do クレートで and_then 連鎖をdo風に書ける
  • ?ではできない異なる型のネストもdo記法で可能
  • Rustには2つのモナド的文脈
    • Control Functor
    • Data Functor
  • ApplicativeやFunctorとの関係も整理されていた

感想

モナドという言葉すら知らなかったのですが、Rustで見かける and_then の構造が実はモナドの一種だったと知って驚きました。難しい言葉も多かったけど、コード例が豊富でイメージしやすかったです!

AIと共に進化する開発手法:形式手法と関数型プログラミングの可能性 by いとひろ

https://speakerdeck.com/itohiro73/fp-matsuri-2025-formal-verification-ad-fp-with-ai

関数型まつり2025 - トークページ

  • 形式手法はコードを書く前に仕様の正しさを検証する技術
  • AIで自然言語からAlloy/TLA+を生成 → モデルチェックで矛盾や不足を検出 → 修正
  • 型安全や要件の曖昧さを減らすサポートとして形式手法が効果的
  • 全コードをAIで自動生成したデモあり

感想

形式手法という言葉は初めて知りましたが、AIが作るコードが本当に正しいのか不安だったので、事前にチェックできるのはいいなと思いました。普段からAIを使っているので、このやり方でなにか作ってみたくなりました!

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

関数型まつり2025 - トークページ

  • 関数型におけるDIの代替手段として高階関数を活用
  • DIコンテナの代わりにComposition Rootで依存を解決・注入
  • 「関数を引数で渡す」スタイルにすることで依存が明確でわかりやすくなる
  • テストしやすく、柔軟に拡張・装飾(ラップ)できる
  • classよりも関数のほうがシンプルで扱いやすいケースが多い

感想

Javaを書いていた頃は、アノテーションをつけて依存を渡すのが当たり前だったので、関数型でのやり方は新鮮でした。関数を引数で渡すとテストしやすくなったり、あとから機能を足しやすくなるのはいいなと思いました。今後は、設計を考えるときのヒントにしてみたいです!

What I have learned from 15 years of functional programming by Scott Wlaschin

関数型まつり2025 - トークページ

  • 関数型は「考え方を変える言語」であり、学ぶ価値がある
  • 関数は第一級の値 / データは不変 / 小さな関数をcomposeして使う
  • 型はクラスではなく集合として扱う(代数的データ型の考え方)
  • オブジェクト指向プログラミングでの継承・interfaceではなく、関数を渡して挙動を切り替える
  • パイプライン設計で一方向に流れるデータ処理がわかりやすい

感想

難しい言葉は使われていなかったし、具体的な例が多くてわかりやすかったです。クラスや継承を使わなくても、関数だけで同じことができるという話はびっくりしました。設計がシンプルになって、テストもしやすくなるのはすごくいいなと思いました。
なによりScottさんが書かれた「関数型ドメインモデリング」の本を読んでみたくなりました!(無事、積読に追加)

懇親会

懇親会も参加してきました。

fp-matsuri_food_1

fp-matsuri_food_2

Haskellを使ってる人が多いのかな、という印象でしたが、皆さんがどこで関数型プログラミングを通ることになったのか、とか、どの言語が好きかについて話せて楽しかったです!!

最後に

ほとんど知識なく参加したので、用語を調べつつ聞いたセッションが多かったのですが、どの方もサンプルコードや図があったので理解しながら聞くことができました。自分にとって新鮮な内容が多く、面白かったです!

求人情報

関数型まつり2025に、弊社クラスメソッドはシルバースポンサーとして参加しています。
Scala、Rustのエンジニアを募集中です!
気になった方はぜひ関数型まつり2025のスポンサーページを確認してみてください◯
https://2025.fp-matsuri.org/sponsors/#classmethod

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.