DEC社 TOPS-20「hello, world」プログラミング(Ⅳ) LISP

TOPS-20 Land

TOPS-20 Land

プログラミング言語の宝庫

2020年3月、歴史的に貴重なDEC社 TOPS-20のLISP言語で「hello, world」をプログラミングしました。

TOPS-20は、DECのPDP-10マシンで動作するOSで1976年に誕生して1970年代から1980年代にかけてUNIXと共に人気のあったOSです。
TOPS-20では、多くのプログラミング言語処理系が動作していました。
TOPS-20で動作する言語処理系は半世紀以上前に生まれた言語であり、21世紀の現在では使われていない言語もあります。

項番 言語 開発時期 一言説明
1 FORTRAN 1954年 科学技術計算向け言語
2 COBOL 1959年 基幹システムを支える言語
3 ALGOL 1958年 アルゴリズム記述言語
4 Simula 1967年 初のオブジェクト指向言語
5 PASCAL 1970年 計算機科学の教育用言語
6 C 1972年 システム記述の標準言語
7 SNOBOL 1962年 強力なテキスト処理言語
8 BASIC 1964年 思考を助ける対話型言語
9 LISP 1958年 関数型リスト処理言語
10 LOGO 1966年 思考方法を学ぶ教育用言語
11 FORTH 1971年 パワフルなスタック型言語

これらのプログラミング言語は、いろんな時代背景で生まれそのユーザーと共に進化してきました。例えば、FORTRAN言語は科学の強力な道具となり、COBOL言語はデータ処理ユーザーに支えられ、C言語はUNIXと共に普及し、LISP言語は人工知能(AI)研究と共に進歩してきました。

DEC TOPS-20ではMacLisp、InterLisp-10、Common Lispが動作します。
今回のブログでは、項番9のLISP言語(MacLisp)による「hello, world」を紹介します。

MacLispの設定

LISPシステムで使用できるエディターはEMACSなので、端末モードをビデオ型端末(VT100)に設定して、定義済みエディター(論理名editor:)をEMACSとします。
また、Maclispを使用するために、論理名lisp:を設定します。


@terminal vt100
@define editor: sys:emacs.exe
@define lisp:  <Maclisp>

ホームディレクトリーにMaclispの初期設定ファイル「LISP.INI」を作成してください。


;;; A very typical init file

(COMMENT) ;magic

(PROGN ; real init file stuff
  (ALLOC NIL)
  (SETQ BASE 10. IBASE 10. *NOPOINT T) ;base-10
  (SETQ NOUUO T *RSET T)     ;debugging
  (SSTATUS FEATURE NOLDMSG)  ;supress messages
  (LOAD "LISP:LEDIT.FASL")
  '*) ;return an asterisk for Maclisp to print out

LISP言語

EDITコマンドで、HELLO.LSPというソースファイルを作成します。
LISPプログラムのファイルタイプは「.LSP」です。

LISP言語

LISP言語


(defun hello ()
   (princ "hello, world")
)

LISPは、インタープリター型なのでコンパイルは不要で即実行できます。


@lisp
*     ←①
(princ "hello, world")hello, world
T
      ←②
(load "hello")
T
      ←③
(hello)hello, world
T
      ←④
(quit)
@

LISPコマンドでLISPシステムを起動します。

  1. ① LISPプログラムを入力するとダイレクト・モードで実行します。
  2. ② (load “ファイル名”)で、LISPプログラムを入力します。
  3. ③ (プログラム名)で、LISPプログラムを実行します。
  4. ④ (quit)コマンドで、LISPシステムを終了します。

Maclispは、LISPシステムの中からEMACSを起動してプログラムを編集し、即LISPシステムに反映できます。
極めて対話的に使用できるLISP環境となっています。
詳しくは、『超マシン復活 #2 DEC TOPS-20 プログラム言語 その世界』を参照してください。

TOPS-20 プログラミング言語の解説書

「hello, world」を実行できたら、もう少し複雑なプログラムを書いてみませんか。

プログラミング言語の詳細な解説やLISPシステムの使い方は、『超マシン復活 #2 DEC TOPS-20 プログラム言語 その世界』という書籍を参考にしてください。

|d|i|g|i|t|a|l| DECSYSTEM 20
技術を極める知的冒険の旅へようこそ

 


プログラミング言語の世界の魅力は、この書籍だけでは語り尽くせません。TOPS-20ワールドは、ワクワクでいっぱいです。この本を出発点として、探究心と好奇心の扉を開いて『技術を極める知的冒険の旅』へ出発してください。

超マシン 関連情報

『超マシン誕生』と『超マシン復活』

超マシン復活 #1 DEC TOPS-20 レトロOSワールド

超マシン復活 #1 DEC TOPS-20 レトロOSワールド (無料サンプル)

超マシン復活 #2 DEC TOPS-20 プログラム言語 その世界