SICPを読み始めた。

1.1.1 式

流し読み。雰囲気は分かった。と思う。

1.1.2 名前と環境(4ページ)

defineの話

ほほぅ。ほーほほぅ。

さっそく試してみたい。けど環境がない。。

xyzzyを入手。「Ctrl + J」or 「Ctrl + Enter」で実行できるっぽい。

じゃ早速。


(define pi 3.14159)
(define radius 10)

(* pi ( * radius radius))

→ 変数が定義されていません: radius

orz

なんなの。括弧が足りないのかな。

こーゆうこと?


(
(define pi 3.14159)
(define radius 10)

(* pi ( * radius radius))
)

→ 不正な関数です: (define pi 3.14159)


なんなの!!

xyzzyの使い方が間違ってるのかな。

入門サイトを参照してみる。
http://www.geocities.jp/m_hiroi/xyzzy_lisp/abclisp01.html

なんだろう。読むところが多すぎるってば。。

Lispで言うところの「define」はxyzzyの「setq」なのかな?


(setq pi 3.14159)
(setq radius 10)

(* pi ( * radius radius))

→ 変数が定義されていません: radius

括弧でくくってみても
→ 不正な関数です: (setq pi 3.14159)


・・・落ち着け。まだ始まったばっかりじゃないか。
落ち着いて情報を探すんだ。

おお、「リストの操作(その2)」のページに以下の文章を発見

defmacro は defun と同じように、&optional や &rest などのラムダリストキーワードを使うことができます。
簡単な例題として、Scheme の define をマクロで定義してみましょう。
SchemeLisp の方言のひとつです。
言語仕様は Lisp よりシンプルで美しいといわれ、熱烈なファンが多いプログラミング言語です。
define は次の形式で関数を定義します。

ふむ!Schemeってなんて読むんだろう

Scheme(スキーム)らしい。

っていうか
(define size 2)
って奴さえエラーになるわ。
→ 関数が定義されていません: define

なんなんだろう。
xyzzySchemeに対応してないってことなのかな。だとしたら上の説明文の意味が無いしなぁ。
素直にemacs使ったらって話なのかな。
オレが秀丸しか使ったことが無いって知っててバカにしてるのかな。

しょーーーーがないのでcolinuxを起動。
こいつにmomonga4を入れてるのでそこのemacsを使ってみようっ


(結果)
エラーが出まくる。。だからemacsとか使ったことねぇっつーの!!
それでも頑張って動作させてみたのにっ

ううぅぅ。。なんなの。。もういや。