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 |

2008-02-27


ArcでL-99 (P22 指定した範囲の数列のリストを作成する)

| 16:28 | ArcでL-99 (P22 指定した範囲の数列のリストを作成する) - わだばLisperになる を含むブックマーク はてなブックマーク - ArcでL-99 (P22 指定した範囲の数列のリストを作成する) - わだばLisperになる

今回は、指定した範囲の数列のリストを作成するのがお題です。

SRFI-1でいうところのiotaですね。

Arcにはこれと同じ機能のrangeがあります。

Arcもバージョン2となり、そして、ちょっと前ですが、Emacsのarc-mode.elを作った方が現われました。待ってました!

やっぱり専用のモードがあるというのは良いです。

;=> (rangE 4 9)
(4 5 6 7 8 9)

;=> (range 4 9)
(4 5 6 7 8 9)

(def rangE (start end)
  (and (<= start end)
       ((afn (cnt acc)
	  (if (> cnt end)
	      rev.acc
	      (self (+ 1 cnt) (cons cnt acc))))
	start () )))

Symbolicsと闘っていた頃のRMSのLispコード

| 03:50 | Symbolicsと闘っていた頃のRMSのLispコード - わだばLisperになる を含むブックマーク はてなブックマーク - Symbolicsと闘っていた頃のRMSのLispコード - わだばLisperになる

RMSがGNUプロジェクトを始める前に、Symbolicsと闘っていたというのは伝説となっていますが、それは1980年代前半頃の話のようです。

Joe Marshall氏が公開しているLMI Lambdaのソースコードには、その時期のものがあるのですが、探してみるとRMSの署名があるものも何点か存在します。

等々…。

ソースの冒頭に信条的なものが書いてあるのですが、GNUプロジェクトを予感させるものだったりして興味深いです。

Lispマシンを知らない子ども達

| 02:58 | Lispマシンを知らない子ども達 - わだばLisperになる を含むブックマーク はてなブックマーク - Lispマシンを知らない子ども達 - わだばLisperになる

あまりも当たり前過ぎて21世紀に入ってから言葉にだしたことはあまりないのですが、当然のことながら、3D CGといえばSymbolicsのLispマシン、Silicon GraphicsのUNIXワークステーションなんかよりSymbolicsざます!という時代がありました。

とはいえ、IRIXもSymbolicsも今は亡きものになってしまったのですが…。

一体いつの時代の話なのかと言えば、1980年代後半から90年代前半位の話のようですね。それと、システムの金額も半端ではなく、一般のご家庭にも全然縁がないお値段でした。そりゃ知らないわ。

この動画もRainer Joswig氏のサイト経由で知ったのですが、1987年のCGの解説ビデオで、SymbolicsのLispマシンと、Lispマシンで作ったCGがばんばん登場しています。20年前ということをしっかりと念頭に置いて観賞すると、これは凄い!と感動できるかもしれません。

ちなみに、Silicon Graphicsのワークステーションが欲しいという奇特な方がいらっしゃいましたらどうか貰って下さい。Octane、Indigo2(紫/緑)、O2等々各種取り揃えております。Fuelもあるんですが、これは若干迷っています…。

あ、SunのUltra80も良かったら差し上げます。メモリ4GBで、4CPUです。450Mhzですけどね…。

梱包ができる気がしないので、手渡しだと最高なんですが…。

LISPでハードウェア周りの記述はできるのか?

| 02:15 | LISPでハードウェア周りの記述はできるのか? - わだばLisperになる を含むブックマーク はてなブックマーク - LISPでハードウェア周りの記述はできるのか? - わだばLisperになる

「LISPでハードウェア周りの記述はできるのか?」という疑問はわりと頻繁に繰り返されていると思いますが、ハードウェアの上に直にLISPが載っているLispマシンがあった位なので可能なんでしょう。

詳しくは自分も知らないのですが、The Evolution of Lispによれば、Lispマシンが開発された当初、MacLISPから枝分かれしたLispマシン用のLisp Machine Lispでは、システム記述力が足りなかったため一部アセンブリで記述する必要があったとのことで、この辺をを全面的にLISPで書けるように強化/改良したのが、Zetalispとのことです。

Lisp Machine LispとZetalispの違いは曖昧で、Symbolicsの3600シリーズと共に登場したのが、Zetalispのようなのですが、MITでもLMIでもZetalispと呼ばれていて、何がなんだか良く分かりません。マニュアルも共通ですし。

こちらのRainer Joswig氏のサイトには同氏がキャプチャした沢山のLispマシンの動画が沢山置いてあるのですが、このNXP1000の解説では、Lispで書かれたSCSIドライバのコードを開いて見せたりしています。ちなみにこの動画は非常に画面サイズが大きいです…。また、このサイトは自宅サーバで、Wgetも禁止だそうなので、ご注意願います。といっても動画のサイズも大きいのですが…。

CLtL->CLtL2->ANSI CLという流れではなかった

| 01:29 | CLtL->CLtL2->ANSI CLという流れではなかった - わだばLisperになる を含むブックマーク はてなブックマーク - CLtL->CLtL2->ANSI CLという流れではなかった - わだばLisperになる

自分は、ブログに書くLISPネタを思い付いたり見付けたりしたら、fixdapにメモしているのですが、ブログに書かないうちにどんどん埋没して行ってしまいます。

しかし、溜めておいてもしょうがないので、小ネタでもどんどん書いてみることにしました。

ということで、今回は、comp.lang.lispを眺めていて、おっ、と思ったことを。

Seriesのスレッドだったので読んでいたのですが、ANSI Common Lispに至る話で、Kent M. Pitman氏からCLtL2からANSI CLという流れではないんだよ、との指摘。

割とFAQなのかもしれませんが、自分は知りませんでした。そうだったのか!

ということで、CLtL2を確認してみたのですが、やっぱりそういう風な記述が序文等にありました。

CLtL -> ANSI CL

CLtL -> CLtL2

ってことみたいです。