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
1k
関数型初心者におすすめしたい "OCaml"
cedretaber
July 29, 2019
Tweet
Share
More Decks by cedretaber
See All by cedretaber
猫とたはむれる
cedretaber
2
930
3ヶ月間Scalaと付き 合って感じた事 ……という発表を想定していたのですが
cedretaber
3
3.2k
Other Decks in Programming
See All in Programming
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
110
CSC307 Lecture 14
javiergs
PRO
0
470
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
830
CSC307 Lecture 13
javiergs
PRO
0
320
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
130
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.5k
AHC061解説
shun_pi
0
360
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
370
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
15
3k
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
280
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.9k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Navigating Weather and Climate Data
rabernat
0
130
How to build a perfect <img>
jonoalderson
1
5.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
760
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
Typedesign – Prime Four
hannesfritz
42
3k
The Curse of the Amulet
leimatthew05
1
9.8k
sira's awesome portfolio website redesign presentation
elsirapls
0
190
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
Done Done
chrislema
186
16k
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