Your SlideShare is downloading. ×
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Lisp M入門
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Lisp M入門

3,368

Published on

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,368
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
1
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. LispM入門 Lisperのこころのふるさと
  • 2. Lispマシン(LispM)ってなに?  
  • 3. Lispで動くマシンです  
  • 4. あまり知られていないこと ALTO/Smalltalkに影響をうけたシングルユーザ向けのリッチな 開発環境
  • 5. あまり知られていないこと ALTO/Smalltalkに影響をうけたシングルユーザ向けのリッチな 開発環境      →Lispで動くというだけのマシンにあらず
  • 6. あまり知られていないこと ALTO/Smalltalkに影響をうけたシングルユーザ向けのリッチな 開発環境       →Lispで動くというだけのマシンにあらず もちろんLispが得意だけれど、LISPだけでもない
  • 7. あまり知られていないこと ALTO/Smalltalkに影響をうけたシングルユーザ向けのリッチな 開発環境       →Lispで動くというだけのマシンにあらず もちろんLispが得意だけれど、LISPだけでもない        →C、ADA、Fortran、Pascalのコンパイラも存在                →1980年代後期、CGの分野で活躍             CGといえば、Symbolics(LispMの代表メーカー)            という時代もあった。
  • 8. LispMの簡単な歴史  
  • 9. Peter Deutsch氏の1973の論文 LISPをマイクロコードレベルでサポートする専用マシン 統合的なLISPの開発環境 シングルユーザ向けの(当時の)ミニコンピュータクラスのマシン (ALTOのようなもの?)
  • 10. 1974- Richard Greenblatt氏が 具体的な実現に向け動き出す。  
  • 11. LispM プロジェクト 当初はRichard Greenblatt氏の個人プロジェクト PDP-10上でシミュレータを作製 当初はスタンドアローンで動作するのではなく、ホストが必要 MacLISPベース 1年程度でブートストラップまでこぎつける 個人プロジェクトから脱却
  • 12. CONS (1975-77年) 1977にはホストに依存するところも少なくなる Lisp Machine Lisp   MacLISPベースだったものが段々と分化。 ALTO/Smalltalkにかなり影響を受けている ビットマップディスプレイにマウス 対話的開発環境 基本的にシングルユーザマシン
  • 13. CADR (1978年) 二番目のマシンなのでCADR スタンドアローン動作 ネットワーク(Arpanetへの接続) ファイルシステムのネットワーク共有 Lisp Machine Lisp  Smalltalk風のオブジェクト指向を取り入れる Flavors ウィンドウシステムやI/Oで積極的に使われる
  • 14. 初期のLispMがもたらした/とりこんだもの 多値 データ型としてのアレイの強化 可変長引数問題への対応 &rest を初めとするラムダリストパラ メータ全般 システムプログラミングとしてのLISPの強化 モジュールシステムとレコード(構造体) Locative(ポインタ操作) オジェクト指向プログラミング→Flavors クロージャ(ダイナミックスコープなので専用の構文を使うlet- closure等々) エディタとREPLの統合(EMACS風のエディタEINE/ZWEI)を初め とするリッチなLISP開発支援環境
  • 15. エディタ (EINE/ZWEI) 70年代後半の時点で既にSLIMEのようなことを実現 EMACSベースで現在EMACSでS式編集で使用している機能は 殆んど実現。 マウス操作で編集、LISPの式の評価等が可能 ソースコードへジャンプ マクロ展開表示 ドキュメンテーションの表示 エディタバッファ上で式をコンパイル/評価 対話的にデバッガとも連携 マルチフォント
  • 16. マクロ展開表示の例 1. マクロ選択 2. コマンド実行(Macro Expand Sexp)キーにアサインすることももち ろん可能 3. 画面上部からずるずると表示(何かキーを押下すると消える)
  • 17. マルチフォント  
  • 18. フォントエディタ  
  • 19. メーラー  
  • 20. その他 外部ネットワークへの接続ターミナル プロセスモニタ ファイルシステムエディタ 色々デモもあり
  • 21. 分化 LispMの商用化をめぐって
  • 22. LispMが完成し商用化も期待できる LispMを販売する会社を興そうということに…。 LispMプロジェクトを開始したGreenblatt氏に提案書を書くよ うにRussell Noftsker氏指示(AIラボの管理人) Greenbratt氏の会社案 基本的に受注生産。 自分達の作りたいものを作ろう。 欲しい人がお金を前払いして、その資金で開発すれば 良い。外資はいらん。 周囲の人々の感想 ビジネスにならないのでは?
  • 23. Greenblatt氏の経営方針では、ビジネス が成立しなさそうなので…。 Russell Noftsker氏を中心に別の会社を興すという流れに Greenblatt氏にも1年間猶予が与えられる。 AIラボ、LispMの商用化を巡って2派に分裂
  • 24. LispMの会社興こる 1980年 Symbolics社設立 同じくGreenblatt氏のLMI社も設立 がっかりしてましたが、パトロン企業CDC登場で、会社が興こ せました。
  • 25. 両メーカー最初のLispM 1980 LMI CADR Symbolics LM-2 MIT CADRを両メーカーが製品版に仕立てたもので、基本的に CADRそのもの
  • 26. 双方ともCADRそのものの マシンから進化  
  • 27. Symbolics 1982 3600シリーズ発表 CADRのアーキテクチャを元にアドレス空間の拡張、ハードウ エアによる高速化を図ったもの。 Zetalisp 全面的にシステムもLispで書けるようにLisp-machine Lispの システム記述力を強化。
  • 28. LMI 1983 LMI-LAMBDA発表 32bit => 24bit+5bitタグ+3ビット(その他)と          40bit => マシン32+5+3のマシン 一つの筐体内に複数のLispM基盤を設置可能。 さらに同筐体内で68kプロセサも稼働し、UNIX 4.2BSDも同 時稼働。ストリーム経由でLispMとUNIXで連携できた様子 (UNIXから処理をLispMへ投げる/FSの共有等) LISP LISP Machine LISP 註 - そもそも、Lisp-machine LispとZetalispはどこが違うのかが、はっきりしていない様子。 Lispのマニュアルも共通…。
  • 29. RMSがLMI側についてSymbolics と闘っていたのも この頃  
  • 30. 3社目のメーカー: Texas Instruments LMIよりライセンスの提供を受けてTIでもLispM製造開始。 Greenblatt氏らの思惑とは裏腹にLMIの主導権は徐々に弱体 化 結果: LMIの競合メーカが2社になりますた。
  • 31. Common LispとLispM Common Lisp策定当時LispMメーカーはLisp業界での影響力が 大きかった Common LispはZetalispとの互換性大に。 Common Lispの策定の後はZetalispからCommon Lisp(CLtL1)へ 移行 Flavorsも新しくなり、New Flavorsへ。 その後CommonLoops(XEROX)とNew Flavorsが大まかな ベースとなり、CLOSへ。
  • 32. その頃日本では… 1970年代後半、大学の研究室等でLispMが試作される。 1978 電電公社 武蔵野電気通信研究所のLispM ELIS開始 1982 ELIS LSI化 1983 TAO/ELISが動作する TAO/ELIS Zetalispを元にPrologとSmalltalkを融合した野心的な LISP TAO/ELISも単なるLispが動くマシンではなく統合環境だっ たらしい EMACS互換のエディタZen等 1987 商用LispM ELIS-8100販売開始(NTT ITより) 1993 NTT IT社 ELIS販売から撤退
  • 33. LMI倒産 1986 次期アーキテクチャK-Machineを作製するも製品化前に倒産
  • 34. 仮想LispM 1992 Symbolics DECのAlpha(64bit)プロセッサ上で動く、仮想Lispマシン Open Genera登場
  • 35. Symbolics倒産 1995 時代の流れに乗りきれなかったのか倒産
  • 36. 最近の動向 2005 LispマシンのソースがMITより公開される。 Brad Parker氏によるCADRエミュレータ公開 2006 TI Explorerのエミュレータ公開される TI Explorerのソースも公開されている 2006 Brad Parker氏による、Open Generaを64bit Linuxで動かす キット公開

×