Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Extend your own programming language
[email protected]
-5Ͱ૿ิ
Slide 2
Slide 2 text
͠Β͓͍ͪͩ͘͘͞ ✓ ͝ཡͷεϙϯαʔͷఏڙ ʹΑΓ͓ૹΓ͠·͢
Slide 3
Slide 3 text
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 4
Slide 4 text
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 5
Slide 5 text
slide sponsors seki @tsuboi @ogijun people.suzuri.jp hsbt tatsuosakurai kenchan june29 zaimy tnmt umazura 4 -20 pixiv FANBOX halfmoon_0419 usa shimashima35 igaiga
Slide 6
Slide 6 text
Extend your own programming language
[email protected]
-5Ͱ૿ิ
Slide 7
Slide 7 text
RubyKaigi 2018 Ruby Ruby MinRuby dRuby
Slide 8
Slide 8 text
RubyKaigi 2018 ...
Slide 9
Slide 9 text
MinRuby Ruby Ruby MinRuby
Slide 10
Slide 10 text
MinRubyͷίϯςΩετ AST - genv - lenv - Marshal.dump
Slide 11
Slide 11 text
ঢ়ଶΛอଘʗ࠶ݱͰ͖Δ ...
Slide 12
Slide 12 text
ετϨʔδʹอଘʗ࠶ݱ Ruby
Slide 13
Slide 13 text
ωοτϫʔΫʹอଘʗ࠶ݱ HTTP dRuby TupleSpace / Linda
Slide 14
Slide 14 text
TupleSpace Linda
Slide 15
Slide 15 text
TupleSpaceαʔόΛ༻ҙ͢Δ drbunix:/tmp/my_ts URI
Slide 16
Slide 16 text
;ͭ͏ϑΝΠϧ͔Βىಈ parse AST genv, lenv evaluate
Slide 17
Slide 17 text
TupleSpace͔Βͷىಈ TupleSpace AST, genv, lenv take evaluate
Slide 18
Slide 18 text
ϓϩηεϚΠάϨʔγϣϯ TupleSpace
Slide 19
Slide 19 text
ϫʔΧΛىಈ͢ΔτϦοΫ [: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
Slide 20
Slide 20 text
TupleSpaceΛಉظ͢ΔΈ TupleSpace Linda write take/read TS ͍͔ͭ͜ͷΛ͍ͨ͠
Slide 21
Slide 21 text
ͭ·Γ TS TS MinRuby
Slide 22
Slide 22 text
Docker, Rinda, Ring, MinRuby ෳͷίϯςφʹஔ͞Εͨ3JOEBͷλϓϧεϖʔεΛ3JOHΛͬͯΦʔέε τϨʔγϣϯ ઃఆͳ͠Ͱಉظͤ͞Δͱ͜Ζ·Ͱ࡞ͬͨɻݱࡏϝογϡ ঢ়ʹଓ͠߹͍ͬͯΔͷͰɺ"HFOUΛͬͯ௨৴ΛݮΒͯ͠Έ͍ͨɻ