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
学ばないDSL (渋谷.rb)
Search
USAMI Kenta
January 15, 2014
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
学ばないDSL (渋谷.rb)
渋谷.rb[:20140115]
http://www.zusaar.com/event/2687020
で発表
USAMI Kenta
January 15, 2014
More Decks by USAMI Kenta
See All by USAMI Kenta
Rubicureに学ぶメタプログラミング
zonuexe
0
230
Other Decks in Programming
See All in Programming
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
190
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
230
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.6k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
290
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.5k
ふつうのFeature Flag実践入門
irof
8
4.2k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
410
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
180
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
スマートグラスで並列バイブコーディング
hyshu
0
260
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
120
Contextとはなにか
chiroruxx
1
380
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
Paper Plane
katiecoart
PRO
1
52k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
170
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building Adaptive Systems
keathley
44
3.1k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
Transcript
学ばないDSL 2014/01/15 @tadsan 渋谷.rb[:20140115]
お前誰よ うさみけんた 2012年の夏まで北海道で自宅警備 最近はずっとPHPばっかり書いてます ぷろぐらみんぐ言語が好きです 渋谷.rbの参加は3回め(だった気がする)
自己紹介
ぼくの好きなプログラミング
scripter = ->(*args){ ->{ puts args.join("\n") } } title =
->(text) { "ʰ#{text}ʱ\n" } paragraph = ->(*args){ args.join("\n") + "\n" } chara = ->(name) { ->(text){ "#{name}ʮ#{text}ʯ"} } ryu = chara[:Ϧϡ]; tak = chara[:͔ͨ͠] script = scripter[title[:ԶΑΓڧౕ͍ʹɺձ͍ʹߦ͘], paragraph[:ϐϯϙʔϯ, ryu[:͜Μʹͪ], tak[:͍Ͳͳͨ]], paragraph[ryu[:͍·ͪΐͬͱ͍͍Ͱ͔͢], tak[:͜Ε͔Βग़͔͚·͢]], paragraph[ryu[:ޕޙग़ۈͰ͔͢ʁ], tak[:͍]], paragraph[ryu[:ڧͦ͏Ͱ͢Ͷ], tak[:ͳʹ͕Ͱ͔͢]], paragraph[ryu[:ଶ͕]], paragraph[:ϦϡɺࣗΑΓڧͦ͏ͳౕʹɺձ͍ʹ͍ͬͨͷͩͬͨɻɹ] ] script[] スクリプト(台本)
ʰԶΑΓڧౕ͍ʹɺձ͍ʹߦ͘ʱ ! ϐϯϙʔϯ Ϧϡʮ͜Μʹͪʯ ͔ͨ͠ʮ͍Ͳͳͨʯ ! Ϧϡʮ͍·ͪΐͬͱ͍͍Ͱ͔͢ʯ ͔ͨ͠ʮ͜Ε͔Βग़͔͚·͢ʯ ! Ϧϡʮޕޙग़ۈͰ͔͢ʁʯ
͔ͨ͠ʮ͍ʯ ! Ϧϡʮڧͦ͏Ͱ͢Ͷʯ ͔ͨ͠ʮͳʹ͕Ͱ͔͢ʯ ! Ϧϡʮଶ͕ʯ ! ϦϡɺࣗΑΓڧͦ͏ͳౕʹɺձ͍ʹ͍ͬͨͷͩͬͨɻɹ 台本を出力(実行結果)
何をしてるのか ラムダ式とクロージャ 可変長引数を結合してる ドメイン固有言語 - Wikipedia ラムダ式で学ぶクロージャとDSL 意外と移植性が高い!
最近読んだ本
世間には根強く 「えっコンパイラも実装したことないの」 「Lispインタプリタとか課題で実装したわー」 ! といった声がある
None
言語処理系の基礎が 完全無料で学べる!
実装してみた 出落ち!
MatzLisp!
本書中のサンプルコードは ふつうのRubyで書かれてます ! ご安心ください
_ \ヽ, ,、 `''|/ノ .|
_ | \`ヽ、| \, V `L,,_ |ヽ、) .| / ,、 / ヽYノ .| r''ヽ、.| | `ー-ヽ|ヮ | `| ヽ, ,r .| ヽ,r'''ヽ!'-‐'''''ヽ、ノ ,,,..---r'",r, , 、`ヽ、 ヾ ヽ、__/ ./ハレハ i`ヽ、 `''r`ミ_ .レ//r,,,、 レ'レハヾ, L,,_ `ヽ、 "レ, l;;;l l;;;l`i.リレ' リ ̄~~ ヽ、 ワ `"/-'`'`' `''''''''" ┼ヽ -|r‐、. レ | d⌒) ./| _ノ __ノ