Back to Eric's Home Page Up to Site Map $Date: 2003/03/04 07:18:02 $ 此処こそはINTERCALの情報ページである 気をつけろ!君がハードコアハッカーでなければ、今すぐ逃げ帰るのが懸命だ。この先には歪んだ技術の不快さと脳を妄想地獄にたたき込む冷酷さ以外なにもない。警告はしたぞ。 汝ここに入るもの、全ての望みを捨てよ そうか、もう全てを見たと思ってるのだなァ? よろしい。Cのコードは書いただろう。LISPのハックもしただろう。FortranやBASICも恐るるに足らず。Emacsのモードを趣味で書く。朝飯代わりにアセンブラを食べる。重度のオタク連中だけが知るような手に余る言語の数々を優雅にこなす。TECOも知ってる。多分<戦慄の>COBOLでさえもだろう。 なら究極のチャレンジの準備は整ったというわけだ...INTERCALの。 INTERCAL. かの言語はチューリング完全でありながらしかし存在する他のいかなる言語とも根本的に異なるものとなるよう設計されている。式はノイズの連なりにしか見えない。制御構造には誰もが息をのみ、笑い、或いは叩きつけたくなる。データ構造だ?腐れデータ構造なんぞに用はない! INTERCAL. 企ての起こりは1972年とある五月の朝とても早くのこと、ぼちぼち眠ろうとしていた二人のハッカーに始まる。初期の実装はIBM360上で走るSPITBOLバッチであった。マニュアルによると、初期実装はその短い生涯を終えたあとも巡り巡って、屈強の男達を涙させたという(笑い過ぎで)。1990年にC-INTERCALコンパイラとして復活を遂げ、現在では国際的技術マゾコミュニティの中心だ。 INTERCAL. 今君も、狂気の一端となるのだ。 (Ted Nelsonに曰く:よし、INTERCALのように馬鹿げてると仮定しようじゃないか) INTERCAL 情報 ドキュメント 復刻版のマニュアルがPostscriptとflat textでダウンロードできる。Postscriptが推奨で、マニュアル中の図やダイアグラムといった最近まで小さなペーパーコピー版しかなかった部分も含んでいる。 INTERCAL 論文 Alexander GarrettがINTERCALの論文を1997春のプログラミング言語:理論とデザイン の講義の為に書いている。Alexanderは語る: 疑念の余地なくINTERCALを選択した(僕がそれを選んだ唯一の人間だった事には非常に驚いた -- ほとんどはJavaだったのかな??)。もちろん、好意的には受け取られなかった...教授は付き返して言った「あー、君はユーモアある人間のようだね。不幸にして、私はそうではない」 コピー版では、こちらで二つの誤植("Malvernite"と"compiler"のミススペル)を修正している。 実装物 最新版のC-INTERCAL配布物がダウンロードできる(マニュアルとサンプルプログラムも同梱だ)。bisonかyacc及びflexかlexがそれぞれ必要となる。ビルドと実行は、LinuxやフリーなBSD群を含む、どんなANSI/POSIXプラットフォームでもきちんと動く。 バイナリアーカイブとしてはWilliam Walter Pattersonによるport of INTERCAL 0.15 for DOSがあり、これによりとうとうこのプログラミング言語も真に価値あるものとなった。 COME FROMをそなえたJava版INTERCALもある -- J-INTERCALプロジェクトを参照のこと。 その他のツール Jonathan Ferroは Intercal calculator モード をEmacs用に書いた。 Kevin Stockによる Perlの為のINTERCAL関数実装についての諸々がある。 Alexander Garrettは JavaのINTERCAL 数学ライブラリ実装クラスを書いた。 ホームページ Louis Howellは、恐らく永久に現世復帰不能と思われる前人未到のC-INTERCALハッカーであるが、彼自身のINTERCALページがある。 The Pit Brian RaiterはINTERCALマニュアルの復刻版をHTMLへと移植した。良く保持された INTERCAL pageである。 Jacob MandelsonもINTERCAL Pageを持っている。 (以上のホームページにあるコードは全てINTERCAL配布物に収められている) その他の情報 alt.lang.intercal にUsenet ニューズグループがある。 INTERCALは一度印刷メディアにさえ取り上げられた。その写しはCharles Strossの記事だ。 更なる提案 INTERCALを拡張しモダンなプログラミング言語のあらゆる流行を取り入れようという様々な提案がある。そのうち最も印象的なイカレぶりなのはMalcolm Ryanによるスレッド化されたINTERCALであろう。 Andrew ArensburgerはINTERCALにおける演算子オーバーロードを開発中だ。 Assurdo Technologies で語られた楽しい与太話でPerl版INTERCAL実装が発表された。彼らの一人が語る所では「機は熟したと宣言する。我々の目標はJavaの論理的帰結であるCLC-INTERCALにある。(つまり、より速く、より機能的に、そしてより良いセキュリティをプログラマに提供出来るのだ!) しかしまず必要なのは開発環境(TECO)の整備、ORBの記述、そしてXML生成の何らかのメカニズム(多分、明瞭とは言えないtroffのマクロを転用して)である」 その他の興味深い言語 * Befunge -- 多重方位、多重次元、多重位相のコンピュータプログラミング。 * BrainF*** -- 8つの機能でできたチューリング完全コンピュータ言語。 * Malebolge -- 地獄から来た言語。 * Unlambda -- 極北的関数言語。 関連リンク もしINTERCALに興味があるならJargon FileとRetrocomputing Museumをチェックして欲しい。両ページともEric S. Raymondがメンテナンスしており、そのほかオープンソース・ソフトウェアに関する広範なコレクションがあなたを触発する事だろう。 Back to Eric's Home Page Up to Site Map $Date: 2003/03/04 07:18:02 $ Eric S. Raymond