Lisp本とか色々

*Lisp本*
そろそろ新しくLispの本が一冊くらい欲しいんですが、
Paradigms of Artificial Intelligence Programming

Let Over Lambda
で迷っています。
Let Over Lambdaの方が安いし読みやすそうでいいかなと思っているんですが、
日本語訳が出るとか出ないとかいう噂を聞いたので悩んでいます。
Programming Erlangの時みたいにがんばって全部読み終えた頃に日本語訳が出ると悲しい気分になれる…
*カッコイイformatの例*
CLのformatを使ったカッコイイ例って結構ありますよね。
時々「あの例ってどこに書いてあったっけ?」と探し回るので、
忘れないようにメモを書き残しておきます。
まずは、CLTL2より、Lisp Machineのformatの内部ルーチンであるformat-error。

(defun format-error (string &rest args)
(error nil "~?~%~V@T↓~%~3@T\"~A\"~%"
string args (+ *ctl-index* 3) *ctl-string*))

これはformatの引数に誤りがあったときに呼び出され、
次のように表示が行われます。

(format t "The item is a ~[Foo~;Bar~;Loser~]." 'quux)
>>ERROR: The argument to the FORMAT "~[" command
must be a number.
↓
"The item is a ~[Foo~;Bar~;Loser~]."

次に、bit 85年5月号の「Common Lisp入門」より、8クイーン問題の解の出力

(apply 'format t
"~@{~%~V{. ~}Q ~V{. ~}~}"
(mapcan #'(lambda (x)
(list x '( t ) (- 7 x) '( t )))
column))

これはcolumnが(3 1 6 2 5 7 4 0)の場合次のように出力されます。

. . . Q . . . .
. Q . . . . . .
. . . . . . Q .
. . Q . . . . .
. . . . . Q . .
. . . . . . . Q
. . . . Q . . .
Q . . . . . . .

どちらもかっこよすぎ。
しかし、読む人が大変だwww
*Syntax Salt*
とある方に、CLでの中置記法の記事[pdf]を読んで頂いたときに行われた会話。
「てっきりSyntax Sugarとか構文糖とかいう言葉が出てくるものだと思ったら出てこないんだね」
『これは本来読みやすいS式を読みにくい中置記法にしてるからSyntax Sugarじゃないんですよ』
「なるほど。じゃあ構文塩なんやね」
構文塩…?
構文糖、糖衣構文、Syntax Sugarにそれぞれ反意語があるとすれば、
それらは構文塩、塩漬構文、Syntax Saltあたりになるんでしょうか。
これら言葉が実在するのか気になったので検索してみました。
そしたらSyntax Saltでひっかかった。

Syntax Salt
古いコンピュータ言語しか知らない中年管理職に売り込む目的で、新しいコンピュータ言語の構文を退化させ、一見古いコンピュータ言語のように見せること。[反対語 = Syntax Sugar]
「例」
オブジェクト指向COBOL
Syntax Saltを振りかけ、本来 A move: Bと書くべきところを move A to Bと書くことを許し、価格を釣り上げた、日経スポーツ愛読者の管理職向けSmalltalkのこと。
(佐原伸 私家版悪魔の辞典より)

とりあえず、ネタ用語としては存在するようです。
糖衣構文という言い方が好きな私としては塩漬構文という言葉を推したい。

4 Responses to “Lisp本とか色々”

  1. なつたん より:

    はじめまして
    Paradigms of Artificial Intelligence Programming
    Let Over Lambda
    Succesfull Lisp
    Artificial Intelligence: A Modern Approach(原書)
    Practical Common Lisp(原書、邦訳)
    と持ってます。僕が持っていても宝の持ち腐れなので、
    まとめてお貸ししましょうか。
    Let Over Lambdaだけ、借りたいという人がいるような
    いないような雰囲気なので、この本だけは約束できま
    せんが、残りの本は貸し出せます。

  2. nathki より:

    >忘れないようにメモを書き残しておきます。
    しかしタイトルが違うので、
    残してもあとで見つけられない罠。

  3. zick より:

    >なつたんさん
    – Artificial Intelligence: A Modern Approach(原書)
    – Practical Common Lisp(原書、邦訳)
    この二冊は日本語訳版を持っています。
    後の三冊に関しては、可能であればお借りしたいです。
    ただ、読むのに凄く時間を要しそうなので、
    借りてる間に全部は読めない予感…
    >nathki
    検索できるから大丈夫。

  4. なつたん より:

    > zickさん
    YRW03704@nifty.com 宛のメールで、送り先と普段生活されている場所を教えてください。
    場所によりますが、関西でしたら直接お渡しした方が早いと思います。

Leave a Reply