Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
関数型初心者におすすめしたい "OCaml"
Search
cedretaber
July 29, 2019
Programming
1
950
関数型初心者におすすめしたい "OCaml"
cedretaber
July 29, 2019
Tweet
Share
More Decks by cedretaber
See All by cedretaber
猫とたはむれる
cedretaber
2
900
3ヶ月間Scalaと付き 合って感じた事 ……という発表を想定していたのですが
cedretaber
3
3.1k
Other Decks in Programming
See All in Programming
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
20250708_JAWS_opscdk
takuyay0ne
2
110
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
420
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
8.2k
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
170
テスト駆動Kaggle
isax1015
1
500
CDK引数設計道場100本ノック
badmintoncryer
1
320
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
590
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
130
NEWT Backend Evolution
xpromx
1
100
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
3
440
効率的な開発手段として VRTを活用する
ishkawa
0
150
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
How STYLIGHT went responsive
nonsquared
100
5.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Building Applications with DynamoDB
mza
95
6.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
How to Ace a Technical Interview
jacobian
278
23k
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