Speaker

Kent Ohashi

Kent Ohashi

Senior Product Engineer at Smartround Inc.

株式会社スマートラウンド所属のプロダクトエンジニア(シニアエンジニア)

Chiba, Japan

Actions

I am an enthusiast and practitioner of functional programming (languages), with a preference for Clojure, Haskell, Flix, etc.
At work, I have been using JVM languages—including Java, Scala, Clojure, and Kotlin—for a long time.
I am also involved in planning and organizing "FP Matsuri" (関数型まつり, https://fp-matsuri.org/), a technical conference dedicated to functional programming.
In addition to programming and software development, I have a particular interest in language learning and linguistics, mathematics, law, and finance/accounting.

Clojure, Haskell, Flixなどを好んで使う関数型プログラミング(言語)愛好者/実践者です。
仕事ではJava, Scala, Clojure, KotlinとJVM言語を長く使ってきました。
「関数型まつり」(https://fp-matsuri.org/)という関数型プログラミングに特化した技術カンファレンスの企画/運営にも携わっています。
プログラミング/ソフトウェア開発のほか、語学/言語学や数学、法学、財務/会計などに特に興味があります。

Area of Expertise

  • Information & Communications Technology

Topics

  • Programming
  • functional programming
  • Software Deveopment
  • Software Design

Tackling Side Effects with Functional Programming and Flix: JVM関数型言語Flixで学ぶ副作用の分離/局所化戦略

# セッション概要
関数型プログラミングと呼ばれるプログラミングスタイルでは純粋関数と不変データが基本的なブロックとして重視される一方で、現実に意味のある振る舞いをもたらすにはプログラムのどこかで「副作用」を生じさせる必要に迫られます。
新興のJVM関数型言語Flix (https://flix.dev/)を利用しながら、副作用をソフトウェアの中核から分離/局所化する典型的なアプローチを探ってみましょう。

# 発表要旨
JVMで動作する静的型付き関数型言語Flixのコード例とともに、関数型プログラミングの世界でよく知られている副作用の分離/局所化の手法を分かりやすく解説する。

# このテーマを取り上げる理由
関数型プログラミング(言語)に親しんでいくと自ずと直面する副作用との関わり方には、関数型言語に限らず任意の言語でのソフトウェア設計に有用な示唆が含まれており、(理論よりも)実践の観点から紹介したいと考えたため。

# アジェンダ(仮)
## 導入
1. 副作用とは何か、なぜ重要か
2. Flix言語の基本(概要と書き方)
3. 関数型プログラミングの道具箱
## 本編
4. 副作用の分離/局所化のアプローチ
- パラメータ化(高階関数)
- 処理のデータ化と解釈(インタープリタ)
- 型レベルの分離/局所化(モナド、代数的エフェクト)
## まとめ
5. 副作用分離/局所化の基本戦略

# 想定するオーディエンス
- 何らかのJVM言語での開発経験がある
- 関数型プログラミングに興味があるが、必ずしも関数型言語の学習/利用経験はない
- Flixという言語を初めて知った(もしくは以前に知って興味があった)
- DI (dependency injection)手法やソフトウェアテストのスタブ/モックとの付き合い方を見直したい

# このセッションで聴講者にどういうメリットがあるか
- 普段使いの言語や開発しているソフトウェアの文脈で副作用の分離/局所化を進める手がかりを得る
- Flix言語を試してみたくなる

# 発表の範囲
## 話すこと
- 副作用の扱い方を議論する上で必要な範囲での関数型プログラミング一般とFlix言語の基礎解説
- 副作用の分離/局所化に関わる典型的な手法

## 話さないこと
- Flix言語の特徴や機能の網羅的な解説
- 副作用の分離/局所化に関わるあらゆる手法の紹介

map関数の内部実装から探るJVM言語のコレクション: Scala, Kotlin, Clojureコレクションの基本的な設計を理解しよう

プログラミングにおいてデータの集合を扱うというのは最も基本的で日常的なことのひとつであり、JVM言語においても多種多様なコレクションとそれらに対する共通の関数/メソッドが標準提供されています。
コレクションに対する代表的な汎用関数mapの内部実装を読むことを通して、複数のJVM言語のコレクションの設計を比較しながら探ってみましょう。
既存のコレクションを扱う新たな関数/メソッドや独自のコレクションを実装するヒントが見つかるはずです。

JJUG CCC 2026 Fall Sessionize Event Upcoming

November 2026 Tokyo, Japan

関数型まつり2026

速習FP in Scala with Flix: Flix言語で親しむ純粋関数型のコード設計
https://fortee.jp/2026fp-matsuri/proposal/02925098-b3c9-4814-b6a1-e0a710399be0

July 2026 Tokyo, Japan

Kotlin Fest 2025

Functional Calisthenics in Kotlin: Kotlinで「関数型エクササイズ」を実践しよう
https://fortee.jp/kotlin-fest-2025/proposal/b65d1c1f-c522-4b3a-9903-b72b2fb4f38d

November 2025 Tokyo, Japan

関数型まつり2025

関数型言語テイスティング: Haskell, Scala, Clojure, Elixirを比べて味わう関数型プログラミングの旨さ
https://fortee.jp/2025fp-matsuri/proposal/f7646b8b-29b0-4ac4-8ec3-46cabaa8ef1a

June 2025 Tokyo, Japan

JJUG CCC 2024 Fall Sessionize Event

October 2024 Tokyo, Japan

Kent Ohashi

Senior Product Engineer at Smartround Inc.

Chiba, Japan

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top