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 |

2007-06-07


.4

| 23:04 | .4 - わだばLisperになる を含むブックマーク はてなブックマーク - .4 - わだばLisperになる

SRFIをまったりと実装して過す初夏。

レトロコンピューティングということで、MacLispで作ってみることに。

さて、現在使えるMaclispの処理系は、どういうものになるかというと、やはりエミュレータ等がメインになるかと思われ、自分もsimhで動く、PDP-10上のITSで稼働させてみたり、公開TOPS-20サイトにログインして動かしてみたりしています。

Maclispの開発環境はどんな感じかといえば、自分も良く分かってはいませんが、恐らく定番はMaclispのLEDIT+EMACSか、TECOということになるんじゃないかと思います。

使い勝手としては、70年代のslimeといった感じ。

EMACSで編集して選択したS式や、リージョンの内容をLispに送り評価、編集し…というのを繰り返す感じです。ショートカットキーがあるので、案外快適にLispとEMACSを行ったり来たりできます。

というか、EMACSの操作感が殆ど現在と一緒なので快適なのかもしれませんが。

;; =============================================================================
;; Function: list= elt= list1 ... -> boolean
;; 要素比較の同値述語手続きを使用して、リストの同値性を判定します。 
;; =============================================================================

;; Maclisp
(defun list= (elt= &rest lists)
  (do ((l lists (cdr l)))
      ((null (cdr l)) t)
    (or (do ((x (car l)  (cdr x))
             (y (cadr l) (cdr y)))
            ((null x) t)
          (or (funcall elt= (car x) (car y))
              (return nil)))
        (return nil))))

ゲスト



トラックバック - http://cadr.g.hatena.ne.jp/g000001/20070607