狠狠撸

狠狠撸Share a Scribd company logo
学ばないDSL
2014/01/15 @tadsan
渋谷.rb[:20140115]
お前誰よ
うさみけんた
2012年の夏まで北海道で自宅警備
最近はずっとPHPばっかり書いてます
ぷろぐらみんぐ言語が好きです
渋谷.rbの参加は3回め(だった気がする)
自己绍介
ぼくの好きなプログラミング
スクリプト(台本)
scripter
title

= ->(*args){ ->{ puts args.join("n") } }	
= ->(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インタプリタとか課題で実装したわー」
!

といった声がある
学は?ない顿厂尝
言語処理系の基礎が
完全無料で学べる!
実装してみた
出落ち!
MatzLisp!
本書中のサンプルコードは?
ふつうのRubyで書かれてます
!

ご安心ください
   _
   \ヽ, ,、
     `''|/?
      .|
 _    |
 \`ヽ、|
   \, V
      `L,,_
      |ヽ?)
     .|
    /           ,?
    /        ヽY?
   .|       r''ヽ、.|
   |        `?-ヽ|ヮ
    |            `|
   ヽ,    ,r      .|
     ヽ,r'''ヽ!'-‐'''''ヽ??
 ,,,..---r'",r, , 、`ヽ? ヾ
 ヽ?__/ ./??? i`ヽ、 `''r`ミ_
   .?//r,,,? ?'??ヾ,  L,,_ `ヽ、
    "?, l;;;l   l;;;l`i.??' ? ̄~~
     ヽ? ワ `"/-'`'`'
       `''''''''"      ┼ヽ  -|r‐?. ? |
                 d⌒) ./| _?  __?

使用フォント
セプテンバーM?L

More Related Content

学は?ない顿厂尝