OCamlで作ったアプリを実運用している
https://fortee.jp/2026fp-matsuri/proposal/1c388c15-55f1-4185-a620-cf2929f26cb9
カジュアル面談や一部面接の日程調整アプリを OCaml で作っている
技術スタック: OCaml + ReScript
実際どうなん?
OCaml だから、マイナーだからみたいな問題は起きていない
が、他の言語でも起きうる問題はある
Web アプリに必要な土台が揃っている
型・小さい言語仕様・後方互換性
ライブラリ・標準ライブラリ・エコシステムが貧弱
AI が普通に書いてくれる
小さい境界なら自作することもできる
HTTP, JSON, OAuth, JWT, TLS, ログは一通り揃っている
足りないライブラリ
ベンダー系: AWS, Google, Slack, ...
自作しているので、そのうち OSS に
エコシステム廻りも整備され始めているが、これから
人の問題
開発は一人でやっている
OCaml Meeting や日本語 Discord など日本のコミュニティが熱い
イベントの 2 ヶ月前に 50 人近く集まるポテンシャルがある
なぜ OCaml にした?
好きだから
だけでは済まない
課題の要件を満たせるか
継続して運用できること
これを答えられるように普段から使ってみる
どうやって採用したの?
小さいところから始めた
自身のブランディングと周辺の理解
普段から OCaml が好きということを押し出す
AI 時代だから
Spring(Java)、Rails(Ruby)と比べて明確な差はない
どの技術でも、十分書いてくれるし、それなりに間違える
ハルシネーションの種類はちょっと違うかも
詰まった時に捨てる判断も簡単に
結果、言語選択の自由度を上がった
だからこそ、好きで選択しても良い時代が来てる
OCaml
マルチコア、Handling effects
パターンマッチ・後方互換性
強めの後方互換性
強い型推論
Effect でコンテキスト分離
Polymorphic variant でエラー表現
PureScript にもある
ReScript
OCaml から派生した AltJS
型安全でパターンマッチがある TypeScript
OCaml から離れようとしている?
OCaml integration 機能がなくなっている
Algebraic Effect Handlers の使っている箇所
Usecase で Effect を起こして、Adapter 層で Handling している
Repository を Effect に置き換えているイメージ
#OCaml #ReScript