$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
関数型初心者におすすめしたい "OCaml"
Search
cedretaber
July 29, 2019
Programming
1
1k
関数型初心者におすすめしたい "OCaml"
cedretaber
July 29, 2019
Tweet
Share
More Decks by cedretaber
See All by cedretaber
猫とたはむれる
cedretaber
2
920
3ヶ月間Scalaと付き 合って感じた事 ……という発表を想定していたのですが
cedretaber
3
3.2k
Other Decks in Programming
See All in Programming
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
130
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
300
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
2
700
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
660
TestingOsaka6_Ozono
o3
0
150
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.1k
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
110
生成AIを利用するだけでなく、投資できる組織へ
pospome
1
320
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
400
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
Featured
See All Featured
Side Projects
sachag
455
43k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
What's in a price? How to price your products and services
michaelherold
246
13k
Into the Great Unknown - MozCon
thekraken
40
2.2k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
The Invisible Side of Design
smashingmag
302
51k
Building Applications with DynamoDB
mza
96
6.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
[SF Ruby Conf 2025] Rails X
palkan
0
510
Transcript
ؔܕॳ৺ऀʹ ͓͢͢Ί͍ͨ͠ "OCaml" @cedretaber
ࣗݾհ Job Telecommunications & Media at Work Scala as Hobbies
Ruby, D, OCaml, Erlang, &c. @cedretaber
ؔܕݴޠ
ؔܕݴޠ 最近(?) 聞 新 ⾔語 中 「関数型 性質 取 ⼊
」 多 (例 Rust, TypeScript ) 作法 設計 ⾄ 「関数型 考 ⽅ 役⽴ 」 ⾔
ؔܕݴޠ 時流 「今 関数型⾔語 知 勉強 」 ⼈ 多
ؔܕݴޠ ⼈ OCaml
OCaml
OCaml INRIA 開発 ⾔語 ML ⼀族 連
ML ⾃動定理証明 為 作 ⾔語 様々 実装・⽅⾔ 持 ( SML,
OCaml ) Hindley–Milner 式型 関数 、 、 正格評価、 化 特徴 持
OCaml Caml ML ⽅⾔ 指向 機能 追加 作 OCaml 関数型
指向 ⾔語
OCaml ※ 今回 OCaml 指向 機能 取 扱
OCaml Λ ͓͢͢Ί͢Δཧ༝
ใྔ
ใྔ 初⼼者 学習 上 ⼤切 情報量 OCaml 情報 多 、「多
」
ใྔ 公式 ⽇本語 丁寧 https://ocaml.org/learn/tutorials/index.ja.html
ใྔ 書籍 良 多 『 基礎』(浅井健⼀) 『 in OCaml』(五⼗嵐淳)
γϯϓϧ
γϯϓϧ OCaml 基本的 機能 少 変数、関数、制御式、 、 基本的 機能 組
合 書
γϯϓϧ 少 機能 ⾼ 表現⼒ 持 、 以上 機能 「
」提供 覚 少 、関数型⾔語 基礎的 考 ⽅ 機 能 集中
ڑ
ڑ 現在 主流⾔語 距離 C⾔語 Java 、 Python Ruby ⾔語
距離 ML 系 ⽂法 ⾔語 "少 " 異
ڑ OCaml ML 系 ⽂法 、先述 通 基本的 機能 ⼩
、 副作⽤ ⼿続 型⾔語⾵ 機能 併 持
ڑ 主流⾔語 対 適度 距離 持 簡単 、難 点 初⼼者向
OCaml ΛֶͿ
ֶͿ OCaml 学習 、先 述 Web 、書 籍 ⾏ 良
、 OCaml 辺 着⽬ 関数型 理解 述
ֶͿ 第⼀級関数 省略 最近 ⾔語 ⼤抵使 、 多⽤ 機 能
思
ࣜࢦ
ࣜࢦ
ࣜࢦ
ෆม
ෆม
ෆม
όϦΞϯτ
όϦΞϯτ
όϦΞϯτ
ύλʔϯϚον
ύλʔϯϚον
ύλʔϯϚον
࠶ؼ
࠶ؼ
࠶ؼ
OCamlΛ͏
͏ opam 利⽤ 、 管理 依存性管理 管理 dune 使 ⼀般
的 、 GUI 作
͏ 待 欲 最近 開発 、 作 味気 、 UI
備 GUI 開発 容 易
͏ 残念 上 OCaml 動 良 ……
None
BuckleScript
BuckleScript Facebook 開発 関数型 AltJS OCaml 改造 作 OCaml JS
、 上 動 JS 連携 容易 設計
BuckleScript npm 使 環境 構築 npm yarn 使 依存性管理 JS
利⽤
BuckleScript 、折⾓ 書 使 ?
None
ReasonReact
ReasonReact React Reason Reason 何? -> 簡単 ⾔ OCaml
ReasonReact 実質 React 、 React 知識 使 関数型 性質 React
性質 相性 好
ReasonReact BuckleScript OCaml 学 関数型 基礎 ⾝ ReasonReact 開発 関数型
応⽤ ⾝
学習環境 整 OCaml 、学習 理由 ?
OCaml BuckleScript ReasonML