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
940
関数型初心者におすすめしたい "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
GoのGenericsによるslice操作との付き合い方
syumai
3
710
PipeCDのプラグイン化で目指すところ
warashi
1
240
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
C++20 射影変換
faithandbrave
0
560
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
120
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
540
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
610
GraphRAGの仕組みまるわかり
tosuri13
8
520
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
600
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Into the Great Unknown - MozCon
thekraken
39
1.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Why Our Code Smells
bkeepers
PRO
337
57k
Side Projects
sachag
455
42k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
We Have a Design System, Now What?
morganepeng
53
7.7k
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