Shammer's Philosophy

My private adversaria

EmacsLisp入門

開発環境として Emacs を使っていると、どうしてもあれこれ設定したくなる。
そこで、必要になるのがLispだ。Emacsを使う以上、どうしてもこれをある程度は
知っていないといけない。関数型プログラミングということでCやJavaとだいぶ毛色は
違うけれどもちょっとやってみることにする。


基本は、Emacs がインストールされていれば、Ctrl+クリックでバッファ一覧から


 *scratch*


というバッファを選ぶ。ここのバッファは、Lispにしてみれば簡易開発環境的なものだ。
Lisp の式を入力して、Ctrl + j とやるとその式を処理してくれる。
たとえば、階乗の関数を定義する。


 (define (fact n)
  (if (= n 0)
   1
   (* n (fact (- n 1))))
 )


と入力して、Ctrl-j とやると・・・
なんじゃこりゃ???
Debugger entered--Lisp error;(以下略)


う〜む・・・先は長そうだ。どこかのサイトにある関数をテキトーに
まねて書いてみたがなんかおかしいみたい(errorだからたぶんおかしいのだろう)。
が、どこがおかしいのかはさっぱり不明。
少し時間をかけてでもちょっとずつ地道にやっていくしかなさそう。