まずはインストールとか

さてなんかLispでもやってみようかなと思いついた。今は主にCommon LispSchemeが有名どころだとか。Common LispがでっかいLispSchemeがちっちゃいLispということらしい。じゃあちっちゃいの、ということでSchemeを学ぼう。なんかSchemeって数あるLispの中でもかなりきつい方言だとかいう話だけど。


処理系はなんか日本語が堪能な人が作ってて、多バイト文字をネイティブにサポートしているらしいGauche
cygwinなら普通に入れれるんだろうけども、なんか今入れてないのでWindows版を入れようとしてみんとする。
Gaucheを応援するページさんからGauche-0.8.3w-03-bin.zip をダウンロード。適当な所に展開。gosh.exeを起動

gosh> ()
()
gosh> (x)
*** ERROR: unbound variable: x
Stack Trace:
_______________________________________
gosh> (define ten 10)
ten
gosh> (+ ten 300)
310
gosh> (define x (lambda (a b) (* a b)))
x
gosh> (x 3 4)
12
gosh> (* 3 4)
12
gosh> (exit)

よしなんか動いた。
(lambda (a b) (* a b))は、引数a, bを与えると(* a b)を評価する関数、という意味。だから(define x (lambda (a b) (* a b)))部分でxが関数として定義されている。とかいう認識でいいんじゃないかなきっと。

test