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
音ゲーを作っていたと思ったらいつのまにか言語を作っていた
Search
Susisu
July 11, 2015
Programming
720
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
音ゲーを作っていたと思ったらいつのまにか言語を作っていた
https://atnd.org/events/67333
http://oucc.org/press/?p=332
Susisu
July 11, 2015
More Decks by Susisu
See All by Susisu
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.9k
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
7
2.8k
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
20
15k
null or undefined
susisu
25
7.9k
Mackerel のフロントエンドフレームワーク移行 序章 / Hatena Engineer Seminar #13
susisu
0
2.3k
スクリーンショット撮影のために Puppeteer を操る / Kyoto.js 16
susisu
0
980
BuckleScript 使ってみた
susisu
0
420
Atom パッケージ開発のすゝめ
susisu
1
2.3k
5分でわかる Curry–Howard 同型対応
susisu
0
1.2k
Other Decks in Programming
See All in Programming
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
0
1.1k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.6k
AIエージェントで 変わるAndroid開発環境
takahirom
1
440
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.7k
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
170
1B+ /day規模のログを管理する技術
broadleaf
0
130
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
190
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
490
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
370
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
340
自作OSでスライド発表する
uyuki234
1
3.7k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
450
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
A designer walks into a library…
pauljervisheath
211
24k
How to Ace a Technical Interview
jacobian
281
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Limits of Empathy - UXLibs8
cassininazir
1
390
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
ラッコキーワード サービス紹介資料
rakko
1
3.8M
What's in a price? How to price your products and services
michaelherold
247
13k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Scaling GitHub
holman
464
140k
Transcript
Ի ήʔ Λ ࡞ ͬͯ ͍ ͨ ͱ ࢥ ͬ
ͨ Β ͍ ͭ ͷ · ʹ ͔ ݴ ޠ Λ ࡞ ͬͯ ͍ ͨ 2 0 1 5 7 ݄ 1 1 O U C C LT ͷ ձ
Θ ͨ ͠Ͱ ͢ • ͢͢͠ • ใܥ (ཧ) •
Twitter: @susisu2413 • GitHub: susisu
ख ஈ ͷ త Խ • త • Իήʔͷේ໘Λ࡞Γ͍ͨ
• Ͱ͖Εָʹ • खஈ • DSL Λ࡞Ζ͏
ख ஈ ͷ త Խ • త • DSL
Λ࡞Ζ͏ • खஈ • ͳΜ͔͍Ζ͍Ζ
΄ ͠ ͍ ͷ Ϧε τ ม ੍ޚจ ؔ
ྻ ԋࢉࢠ ٕज़ ඌݺͼग़͠࠷దԽ ΦϒδΣΫτࢦ ͓ۚ
ં͔֯ͩΒ൚༻ͷݴޠʹ͠·͠ΐ͏!
ඪ • JavaScript ্Ͱಈ࡞ • ͦͦ͜͜ͷ • ΦϒδΣΫτࢦ •
ؔܕ
࡞ ͬ ͨ ͷ • ύʔα (ߏจղੳث) • AST
ΠϯλϓϦλ • ඪ४ϥΠϒϥϦ
ύʔ α • ͳΜ͔ύʔαίϯϏωʔλ ϥΠϒϥϦΛ࡞ͬͯ͋ͬͨ • github.com/susisu/Loquat • ΄΅ Parsec
(Haskell ͷ) ͷ Ϋϩʔϯ • ͋ͱॻ͚ͩ͘
Π ϯ λ ϓ Ϧ λ • ύʔα͕ు͖ग़ͨ͠ߏจ ʹै࣮ͬͯߦ •
JavaScript ΈࠐΈͷػೳ Λ͝ʹΐ͝ʹΐͯ͠ߴԽ
ඪ ४ ϥ Π ϒ ϥ Ϧ • ࠓ࡞ͬͯΔ (8ׂ͘Β͍ʁ)
Ͱ ͖ ͨ ͷ • github.com/susisu/milktea • V8
্Ͱ Flash ≦ 8 ͷ VM ͱಉ͘͡Β͍ʁ
ί ʔ υ ྫ ( ֊ ) factorial n
= let itr n p = if n >= 1 then itr (n - 1) (p * n) else p in itr n 1 ; print $ factorial 10; -- 3628800
ί ʔ υ ྫ ( Φ ϒ δΣ Ϋ τ
ࢦ ) Person = Class:new:extends Object; Person!new $ \this name -> Class.proto.new this name; Person!ctor $ \this name -> const this $ this!name name; Person.proto!printName $ \this -> print this.name; ! alice = Person:new "Alice"; alice:printName; -- Alice
· ͱ Ί • ࣗ࡞ݴޠ࡞Δͷָ͍͠ͷͰ ΈΜͳΓ·͠ΐ͏
ސ ٬ ͕ ຊ ʹ ඞ ཁ ͩ ͬ
ͨ ͷ _人人人人_ > 音ゲー < ‾ ̄^Y^Y^Y^Y‾ ̄
د • ͓ئ͍͠·͢ (࣮) • ͓ۚͱٕज़ͱ͖Μ͍ΖϞβ ΠΫ͕ෆ • www.amazon.co.jp/registry/
wishlist/3FX8NJ35LKRGC