まずはインストールとか
さてなんかLispでもやってみようかなと思いついた。今は主にCommon LispとSchemeが有名どころだとか。Common LispがでっかいLisp、Schemeがちっちゃい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が関数として定義されている。とかいう認識でいいんじゃないかなきっと。