Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2006-06-27

ITSでMACLISP (2)

| 19:12 | ITSでMACLISP (2) - わだばLisperになる を含むブックマーク はてなブックマーク - ITSでMACLISP (2) - わだばLisperになる

MACLISP/ITSの探究を続けています。

とりあえず、MACLISPは使えるようになりましたが、開

発環境としては、どんな感じに整備されていたのかが気

になります。

Lispのインタープリタ内からは、

(load "foo")

等でfoo >(fooというファイルの最新版)が呼び出される

ので、EMACSで、foo >を編集してロードすれば、開発は

できそうなもんですが、これだとインタープリタとエディ

タを行き来しないと行けないので、もっと便利な環境だっ

た筈と思って、ちょっと調べてみたところ、LEDITとい

う支援環境が用意されている様子。

インタープリタから(ledit)でエディタを呼び出し、

EMACSからは、C-xzで戻ってくるってものらしいです。

なるほど。ちなみに、EMACSだけじゃなくて、TECOも使

えます。

それはともかく、MACLISPを起動する度に初期設定する

のが面倒なので、初期設定の方法も探ってみたところ、

LSPDOC;INTRO 24に記述がありました。

サンプルを適当にホームディレクトリに初期化ファイル

を作ってみました。

; MacLisp init file
;;
;; 7:02pm Tuesday,27 June 2006
;; See lspdoc;intro 24

(comment)         ;magic

(PROGN ; real init file stuff
 (ALLOC NIL)
 (SETQ BASE 10. IBASE 10. *NOPOINT NIL) ;change radix
 (SETQ NOUUO T *RSET T) ;these make debugging easier
 (SETQ LEDIT-JNAME 'E)
 '*)            ;return an asterisk for Lisp to print out

(comment)っていうのが大事で、これが無いとちゃんと

読み込んでくれないという謎の記述です。

ALLOCはなんのことだか良く分かってないのですが、nil

にしてみています。

それで、サンプルを見て初めて分かったのですが、出力

と入力の数字の表記は、環境変数のBASEとIBASEで制御

するらしいことが分かりました。10.とすることで、10

進となります。*NOPOINTは、10進の場合に、数字の後に、

点を付けないで表示するかどうかの変数。Tなら、表示

されません。

それと、LEDIT-JNAMEにEを設定していますが、うちは、

EでEMACSが呼び出されるようになっているため。

これで、なんとなく前よりは、環境が整いました!

という感じで、探究は続きます。