作者: KIMURA Koichi
日時: 2007/10/11(22:53)
Bruce.です。

----- Original Message ----- 
From: ""機械伯爵"" <kikwai@...>
To: <TSfree@...>
Sent: Thursday, October 11, 2007 4:37 PM
Subject: [TSfree:2219] 無名?


>> あと、日本語の「無名」のほうですけど
>>
>> 1 名がないこと。名がわからないこと。また、名を記さないこと。無記名。「―の手紙」「―投票」
>>
>> 2 世間に名が知られていないこと。「―の新人」Z5192.gif有名。
>>
>> 3 名目がたたないこと。
>>
>> 名前が無い。ってのありますよ?
>> #from 大辞泉
>
>  大辞泉にはあるんですね……電子辞書の広辞苑には無いですよ。
>
>  それに、「無記名」は要するに匿名ですから、「名無し」とはえらく違います。
>
>  また、上の文の「名がない」は、「自分の名前をしるしていない」即ち「無記名」 
> 
> の意味と取るのが普通ではないでしょうか。

そうは思いません。

中世の神学者じゃないんで辞書の記述のあり方云々という方面には
行きません。

しかしながら事実として、別の大辞林という辞書ではこの後で機械さんが挙げた
(大辞泉の)名無しの項目とほぼ同じ説明が無名の項の説明として載っています。
つまり、「名前」という語を使って説明しています。
#オンラインので見つけたのではないのでURLとかは示せませんが。
「普通」とまでおっしゃるのならその根拠をお示しください。
機械さんの云う無名==匿名を、違うのではないかと云っているのは
ここでは少なくともわたしと、ねこ丸君がそうだと思われます
#違ってたらごめんねー >ねこ○君

もう一つ、新解さん(新明解国語辞書)ではもっとはっきりと
「名前がないこと、名前が(まだ)つけられていないもの、こと。」
のように説明されています。
#これまた本屋で立ち読みして調べたものを記憶で書いてますので一字一句
#同じではありませんが、大きな違いはないと思います。

>  そもそも、「名が無い」ものは「話題に出来ない」ので、その「話」がでるのは
> とんでもなく特殊な状態であり、慣用法があるとは思えないと私は考えます。
>
>  「名無し」は指示代名詞(あれ・これ・それ)でしかあらわせないモノであり、
> 通りすぎるだけで深く論議しない場合/モノにのみ、使われるわけですから。
>
>  例えば同様に大辞泉で「名無し」を引くと……
>
> ・名前がないこと。名前のついていないこと。また、そのもの。
>
>  「名前」がない、「名前」が「ついていない」と、あきらかに「無名」を引いた
> 時と違う語感で説明されています。
>
>  ……ごめんなさいね、めんどーな話で。でもやっぱり、「名無し」と「無名」は
> はっきりと違うと思いますし、使い分けるべきだと思うのです。

違う意味合いの場合もあれば同じ場合もあり、今回は同じ方だと思います。

>
>  ま、それはさておき。
>
>> >  やっぱ記法なんだから、関数リテラルかなぁ……
>>
>> んー、どうでしょうねえ。
>> 「匿名」ほどには反発は感じませんが、数値リテラルとか文字列リテラル、
>> 正規表現リテラルと同一視できるかというと…あー、できちゃう?
>
>  関数を直接記述する、という意味で。
>
>  要するに「値」ではなく、「式そのもの」のλ式と同じ意味ですけどね。

もうひとつ「匿名」を使うべきでない理由を挙げます
#同時に「無名」でいいだろうという理由でもありますが

まず、マイコミのHaskell本(入門Haskell)とOcaml本(入門Ocaml)では
両方とも「無名関数」を使っています。
Ocaml本は集団で書いてますのでちとあれですが、その筋の大学の
方々ですし、Haskell本の向井さんはこの世界のエライ人です。
また、アスキーのEmacs Lispの本(リファレンスじゃなくて薄い入門書
の方)でも同じく「無名関数」です。先の二冊は去年から今年にかけての
出版ですが、このElisp本の初版は90年代、たぶん中頃以降ということは
ないと思います。

できれば村上さん訳のScheme本とかも確かめたかったのですが
書棚にありませんでした。

つまり、「無名関数」という呼び名はずっと前からあったわけです。
仮にこれがあまりよろしくない名前であったとしても、それの代替として
「匿名関数」などという名前を持ち出すのはあまりにひどいです。
だいたいこれはえらそうな名前の(検閲)の連中が機械翻訳レベルの
訳を見て何の疑問も感じずにその(検閲)な(検閲)でつけたようなもんでしょう。
#確証ないけど

あー、さらに古いのを自宅で発見w

初めての人のためのLISP
(サイエンス社 竹内郁雄著 初版1986年)

−−−ここから
K: lambdaで始まるリストで表される関数実体をラムダ式と呼ぶ。ラムダ式の
一番重要なポイントは、関数の概念から、名前を省いたことじゃ。いままで
諸君は関数といえば、必ず対応する名前があったと思っていたはずじゃ。
ところが、ラムダ式には固有の名前がない。
(lambda (x) (* x x ))
には、1個の引数をとって、その二乗を取るという以上の情報はない。だから、
諸君の知っている関数より一段抽象度の高い概念なのじゃ。defunはこういう
*無名の関数*に名前を与えるための仕掛けにほかならない。実際、そのことが
もっとはっきりわかる形で
(define square (lambda (x) (* x x)))
のように書く流儀のLispもある。

A君: いや、Lispの関数はもう1つの点で常識外れのところがある。関数といえば、
数を与えて数が返ってくるものなのに、Lispではリストが返ってきたりする。
こういうのも関数というのかなあ。

T: 関数を数以外に拡張して使うのは、計算機の世界では常識なのです。

C君: 関数をわざわざ*無名*にするとなにかいいことがあるんですか?

K: 実はラムダ式はLispよりもずっと古い歴史をもっている。これはもともと計算の
論理的基礎を研究するために考え出された1つの計算モデルなのじゃ。
計算は小さな*無名の*計算からなる過程だから、これを関数という概念でモデル
化したラムダ式は必然的に*無名*であった。*無名*にする御利益は、堂々巡り
的な言い方になるが、*名前をつけなくて済む*ことじゃ。1から10までの数を
順に足すのに
1+2をsum2と呼ぶ
sum2 + 3 をsum3と呼ぶ
…
sum9+10が求める結果である
とやらないのと同じ理屈じゃ。第12講で話すmap関数などでも*無名関数*は
役に立つ。

−−−ここまで

わたしは持ってないので確かめられませんが、中西先生のLisp本でも
「匿名」は使ってないと思いますよ。
あと共立出版(だったと思う)から出ているCommon Lispの仕様書の本とか。

もしMicrosoft関連のコミュニティか、そこから派生して使われている以外で、
「匿名関数」なる語を使っている論文なり書籍なりをご存知ならどうぞ
お知らせください。


数学的にはどうかと思って数学時点を何冊か見てみましたが、
λ calclulas 自体が載っているものを見つけられませんでした。