Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
音ゲーを作っていたと思ったらいつのまにか言語を作っていた
Search
Susisu
July 11, 2015
Programming
730
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
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.4k
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
300
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
2.4k
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
7
2.9k
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
20
16k
null or undefined
susisu
25
8k
Mackerel のフロントエンドフレームワーク移行 序章 / Hatena Engineer Seminar #13
susisu
0
2.3k
スクリーンショット撮影のために Puppeteer を操る / Kyoto.js 16
susisu
0
1k
BuckleScript 使ってみた
susisu
0
440
Other Decks in Programming
See All in Programming
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
230
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
660
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
2.6k
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
200
高専キャリア LT 発表内容
crysta1221
6
5.6k
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
Foundry Localでエージェント開発
seosoft
0
160
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
130
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
430
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
490
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
We Are The Robots
honzajavorek
0
350
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
RailsConf 2023
tenderlove
30
1.5k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
It's Worth the Effort
3n
188
29k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
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