Page 1
RubyとLispの
切っても切れない関係
Why Emacs Lisp is an acceptable Ruby?
平成Ruby会議01 2019-12-14 #heiseirubykaigi
公開日:
by USAMI Kenta@tadsan
に東京都目黒区の株式会社ドリコムセミナールーム&カフェで開催された『平成Ruby会議01』で飛び入りでライトニングトーク(5分)として発表しました。
Why Emacs Lisp is an acceptable Ruby?
平成Ruby会議01 2019-12-14 #heiseirubykaigi
いちおう2010年頃にparse.yを弄って遊んでたり闇ルビヰ會議2011で初めて人前でしゃべったり2012年くらいまでRuby札幌方面に居たりしたルビーストです
これは重要なことですが
平成元年1月生まれです
ちなみにスライドの本文書体はゲームプラットフォーム様でenza絶賛運営されているアイドルマスター シャイニーカラーズというゲームで採用されているFOT-ハミング Stdです
事前知識
この話で言及している“Lisp”は複数の言語の総称です
C言語
Ruby(
Lisp(
(imaginary)
Common Lisp,Scheme, Clojure,Emacs Lisp
それぞれの言語はC#とJavaくらい離れている
あとLTなのでかっとばしてきます
さて
‒TextbringerでつくるTextbringer https://github.com/shugo/heiseirk01/blob/master/README.md
shugoさんの発表楽しかったですね
‒TextbringerでつくるTextbringer https://github.com/shugo/heiseirk01/blob/master/README.md
もっと強い混沌の力を手に入れたくはないか?
‒TextbringerでつくるTextbringer https://github.com/shugo/heiseirk01/blob/master/README.md
Textbringerのあらゆる機能はRubyで実装されている
Emacsのあらゆる機能はLispで実装されている
Textbringerの機能開発時はeval_bufferで編集中のコードを評価して動かしながら開発できる
Emacsの機能開発時はeval-bufferで編集中のコードを評価して動かしながら開発できる
ためしにTextbringerのコードをEmacs Lispで書いてみよう
ねっ、そっくり[要出典]でしょ?
🤔
たぶん皆様が感じたよりはそっくりなのですが、RubyとLispの構文レベルの相似性というよりもTextbringerがEmacsを参考にしたAPIを提供していることが大きい
ところで
Ruby作者のMatzが言語おたくであることは比較的有名
Rubyist Magazine - Rubyist Hotlinks 第1回 まつもとゆきひろhttps://magazine.rubyist.net/articles/0001/0001-Hotlinks.html
Gihyo.jp RubyKaigi 2013レポートhttps://gihyo.jp/news/report/01/rubykaigi2013/0001
amazon.co.jp - まつもとゆきひろ 言語のしくみhttps://www.amazon.co.jp/dp/B01N7JZXMD/
時計の針は平成6年に戻る
‒「まつもとゆきひろ 言語のしくみ」 2016 まつもとゆきひろ, 日経BP https://books.google.co.jp/books?id=h9KjDwAAQBAJ&pg=PT67
RubyにSymbolとかwhen/unless文とかKernel.#requireがあるのは(Emacs)Lispの影響だと思う
Matzから離れて
RuboCop
RubyからLispを学ぶ
最後に私が5年前に書いたRubyコードを紹介して終ります
