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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
その節約、円になってますか?
isamumumu
1
650
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
210
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
630
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
560
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
450
React本体のコードリーディング
high_g_engineer
1
130
AIが無かった頃の素敵な出会いの話
codmoninc
1
350
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
210
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1k
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.8k
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
120
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Site-Speed That Sticks
csswizardry
13
1.4k
The agentic SEO stack - context over prompts
schlessera
0
860
ラッコキーワード サービス紹介資料
rakko
1
4.2M
Tell your own story through comics
letsgokoyo
1
1k
How to Talk to Developers About Accessibility
jct
2
470
Google's AI Overviews - The New Search
badams
0
1.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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