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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
2.2k
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
990
BuckleScript 使ってみた
susisu
0
430
Atom パッケージ開発のすゝめ
susisu
1
2.3k
Other Decks in Programming
See All in Programming
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
390
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
380
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
320
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
140
今さら聞けない .NET CLI
htkym
0
170
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
160
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.5k
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
200
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
630
その節約、円になってますか?
isamumumu
1
650
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
800
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
520
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Designing Experiences People Love
moore
143
24k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
280
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
590
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
390
Measuring & Analyzing Core Web Vitals
bluesmoon
9
940
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