Schemeって何?
9LISPでは最初にSchemeという言語を勉強していきます。あれ?LISPじゃないの?実は、LISPにはたくさんの方言があるんです。
そぎゃんこつ言っても、おっどんな知らんばい。
You say such a thing, but I don't know it.
そう。日本語にたくさんの方言がありますね。プログラミング言語にも方言があるというのは、とてもオモシロイと思います。方言というのは、似てるんだけどチョット違う言語です。ホリのテリー伊藤のものまねは、似てるんだけどチョット違いますね。
LISPの方言で有名なものに、Common LispとSchemeがあります。9LISPでは、最初にSchemeを扱います。Schemeはとってもシンプルで、それでいて奥が深い言語です。まるで、id:shunsuk(この記事を書いてる人)みたいですね。
Schemeの仕様はコンパクトで、Schemeを処理するプログラム(処理系と言います)を書くのも比較的カンタンです。おっと、カンタンだと言っても、素人が手を出すと火傷するぜ。9LISPでは、無謀にもSchemeの処理系を実装することも目標だったりします。
また、経験者が多く参考資料も多いので、かなーり学習しやすい言語だと言えましょう。ええ、きっとそうです。さあ、グダグダ言ってないで、この辺でSchemeの実際のコードを見てみましょう。ビックリしないでくださいね。比較のため、Rubyのコードから。
def add(a, b) return a + b end puts add(1, 2)
それでは、Schemeです。
(define (add a b) (+ a b)) (display (add 1 2))
どーですか?お客さーん!
ば!たいぎゃ括弧ん多か!
Oh, my god! There are so many parentheses!
これでも括弧の少ないコードを載せたんですよ。私は初めてSchemeのコードを見たときに、「戸田恵梨香は俺の嫁」と思いました。でも、慣れたら括弧が見えなくなると9LISP発起人のvalvallowさんが言ってましたので、心配しないでください。
長くなりましたが、9LISPではLISPの方言のSchemeを勉強していきますと言いたかっただけです。ただ、それだけです。あと、戸田恵梨香さんは私の嫁ではありません。紛らわしいことを書いてしまったことを、深くお詫び申し上げます。