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-01-11

関数名にハイフンを使うようになったのはいつ頃からなのか

| 23:32 | 関数名にハイフンを使うようになったのはいつ頃からなのか - わだばLisperになる を含むブックマーク はてなブックマーク - 関数名にハイフンを使うようになったのはいつ頃からなのか - わだばLisperになる

LISPでは、関数や変数の名前にハイフンを使いfoo-if-barのような名前を付けたりして、これが、それなりにLisp的な特徴とみなされているかと思います。

非常にどうでも良いことなのですが、急に、関数名にハイフンを使うようになったのはいつ頃からなのか、ということが気になり出して仕方なくなってしまい、色々調べてみました。本当にどうでも良いことなのですが…。

そもそもなんで疑問に思うかといえば、LISP 1.5をちょっといじってみて、マニュアルや古い文献のプログラム等を眺めてみているのですが、今だったらハイフンで区切るような、例えば、SUPER-REVERSEのような関数名が、SUPERREVERSEだったりするのです。これだと、読み難いのですが、しかし、他の長い名前も全然ハイフンが使われていないのです。

LISP 1.5では、変数や関数にハイフンを含められないのかといえば、そういう制限もなく、普通に使ってプログラムも書けます。

そうなってくると、じゃあ、一体いつからなんだということになってきてしまうのです。

それで、とりあえず、調べてみたのですが、PDP-1 LISPは、ハイフン抜き、直系のPDP-6 LISPも抜きで、手元のソースを眺める限りでは、その次のMACLISPで初めて登場するようです。

大体、1974年位が境なんですが、なんでその辺なのかは良く分かりません。

それで、その後1978以降MIT Lispマシン周辺で、やたら長い名前をハイフンでつなげた名前が爆発的に増えます。

ちなみに、INTERLISP系ですが、こちらは、BBN-LISPから、INTERLISP-Dまであんまりハイフンで継げた名前はみかけません。

以上、まったく役に立ちようもない探究でした。

ちなみに、これも非常にどうでも良いことなのですが、過去のMITのAIメモを眺めたりしている過程で、内部的な関数の頭に%ではなく、*を付けるという習慣を発見しました。PDP-6からMACLISP初期のことで、大体40年前のことなのですが、例えば、2引数しか取らない限定的なGREATERPは、*GREAT、といった風になっています。頭に%を付けるのは、多分これもLispマシン周辺から来てるんじゃないかと思うんですが、これまた、本当にどうでも良いことでございまして…。

Lispマシン情報リンク集

| 15:15 | Lispマシン情報リンク集 - わだばLisperになる を含むブックマーク はてなブックマーク - Lispマシン情報リンク集 - わだばLisperになる

ゲスト



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