はじめての言語作り(Ruby de Lisp)

今回RubyLispを作りました。
 
ちなみに
処理系作ったこと無い。

  • Lispって何?
  • seq。。。って?
  • car、cdrこれなんて読むの?

というレベルから作り始めました。
 
実際の中身はこちらのサイトでJavaで作って解説してあったものを
Rubyに書き換えているだけです(汗)
合併のお知らせ|OKIソフトウェア
  
せっかくなのでLispの勉強がてらソースの解説を行っていこうと思います。
10連載くらいで。。。(続くか?)
 
これを見ていくだけでLispが作れてしまうのだから。
しかも、「俺、言語作ったことがあるんだぜ」と言えるのだから。
あと、Rubyの勉強にもなるし、楽しんでみてください。
 
さて、今日は。。。いきなりコード書きませんw
まず、Lisp知らないと。というか作るもの知らないと作れませんよね(汗
 
Lispのキーワード
1.S式
 キーワードのところをクリックしたら解説見れるので読んでみてください。
 つまり、関数もデータだし、プログラムもデータだと。Lispの世界ではすべてがデータらしいっす。
 
2.()
 Lispでの四則演算

    (+ 3 (- 2 1))
    > 0

 この中の(- 2 1)はプログラムです。3はデータです。
 はっきり言って、()の中には無限大の宇宙が広がっています。
 何でも許容できる宇宙です。すげーすげー。
 
 
というか書いてる途中で面倒くさくなりました。。。
このサイトを読んでみてください。10分くらいで読めますー。
Lisp“ü–å
 
というか、実はものぐさな私は実装しながら勉強したので、実際に実装したほうがいいのかも。

次からコード載せます。。。