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
enlarged: extend your own programming language
Search
seki at druby.org
June 14, 2018
Programming
0
92
enlarged: extend your own programming language
RubyKaigiから帰ってきてLT会のLT。RubyKaigi 2018のトークの増補版だよ!
seki at druby.org
June 14, 2018
Tweet
Share
More Decks by seki at druby.org
See All by seki at druby.org
Agile Leadership Summit Keynote 2026
m_seki
1
840
RWC2025 Ninja-testing with smart playlist
m_seki
4
1.1k
XP, Testing and ninja testing ZOZ5
m_seki
3
2.5k
XP, Testing and ninja testing
m_seki
3
1.1k
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
540
ERB, ancient and future
m_seki
3
1k
ERB Hacks
m_seki
1
1.6k
わりこまれるはなし
m_seki
0
1k
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
2
1.5k
Other Decks in Programming
See All in Programming
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
340
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
8
2.3k
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
180
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
280
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
atmaCup #23でAIコーディングを活用した話
ml_bear
4
720
株式会社 Sun terras カンパニーデック
sunterras
0
1.9k
ぼくの開発環境2026
yuzneri
1
290
CSC307 Lecture 14
javiergs
PRO
0
450
TipKitTips
ktcryomm
0
150
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
370
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
59
50k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
96
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
The Curse of the Amulet
leimatthew05
1
9.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Evolving SEO for Evolving Search Engines
ryanjones
0
140
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
620
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
How to build a perfect <img>
jonoalderson
1
5.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
220
Transcript
Extend your own programming language
[email protected]
-5Ͱ૿ิ
͠Β͓͍ͪͩ͘͘͞ ✓ ͝ཡͷεϙϯαʔͷఏڙ ʹΑΓ͓ૹΓ͠·͢
slide sponsors " " ! !!! @moro @ tricknotes dRuby
Web ( ) https://t.co/fLhzWll5gY @hisashim Rails 700 https://t.co/wAMLWDekJh?amp=1 @igaiga555 https://lambdanote.com @golden_lucky @vestige_
slide sponsors 5 !! 6 2 Scratch Day in !!
@mame iSeq iSeq @youchan Speee Ruby @koichiroo RubyKaigi 2018 2 @ktou RubyWorld Conference 2018 yancya @yancya
slide sponsors seki @tsuboi @ogijun people.suzuri.jp hsbt tatsuosakurai kenchan june29
zaimy tnmt umazura 4 -20 pixiv FANBOX halfmoon_0419 usa shimashima35 igaiga
Extend your own programming language
[email protected]
-5Ͱ૿ิ
RubyKaigi 2018 Ruby Ruby MinRuby dRuby
RubyKaigi 2018 ...
MinRuby Ruby Ruby MinRuby
MinRubyͷίϯςΩετ AST - genv - lenv - Marshal.dump
ঢ়ଶΛอଘʗ࠶ݱͰ͖Δ ...
ετϨʔδʹอଘʗ࠶ݱ Ruby
ωοτϫʔΫʹอଘʗ࠶ݱ HTTP dRuby TupleSpace / Linda
TupleSpace Linda
TupleSpaceαʔόΛ༻ҙ͢Δ drbunix:/tmp/my_ts URI
;ͭ͏ϑΝΠϧ͔Βىಈ parse AST genv, lenv evaluate
TupleSpace͔Βͷىಈ TupleSpace AST, genv, lenv take evaluate
ϓϩηεϚΠάϨʔγϣϯ TupleSpace
ϫʔΧΛىಈ͢ΔτϦοΫ [:ts_eval, ...] take [:ts_call, ...] write [:ts_call, ...] AST,
genv, lenv evaluate while true it = ts.take([:ts_eval, nil, nil, nil, nil]) it[0] = :ts_call ts.write(it) spawn_worker end
TupleSpaceΛಉظ͢ΔΈ TupleSpace Linda write take/read TS ͍͔ͭ͜ͷΛ͍ͨ͠
ͭ·Γ TS TS MinRuby
Docker, Rinda, Ring, MinRuby ෳͷίϯςφʹஔ͞Εͨ3JOEBͷλϓϧεϖʔεΛ3JOHΛͬͯΦʔέε τϨʔγϣϯ ઃఆͳ͠Ͱಉظͤ͞Δͱ͜Ζ·Ͱ࡞ͬͨɻݱࡏϝογϡ ঢ়ʹଓ͠߹͍ͬͯΔͷͰɺ"HFOUΛͬͯ௨৴ΛݮΒͯ͠Έ͍ͨɻ