🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.misc
Article #162

redefining operators (Re: CLU and its companions)

#162
From: Yukihiro Matsumoto
Date: Thu, 05 Mar 1998 00:00
27 lines
2093 bytes
まつもと ゆきひろです

shugo@po.aianet.ne.jp (Shugo Maeda) writes:

|前田です。

|たしかC++だと二項演算子はメソッドじゃなくて2引数の関数にするんですよね?
|僕は左辺をレシーバとみなして、+というメッセージを送ると考える方が好きです。

ええと,C++の場合メンバ関数としても定義できたような気がします.

それはともかく,+演算子は本来左辺の型によって処理が決定する
のではなく,両辺の型の組合せによって処理が決定するので,左辺
のメソッドであるのはおかしい,という意見もある訳です.私もそ
れはもっともだと思います.

たとえば,演算子を実装する時,右辺の内容に対するアクセスがき
れいにいかない時とかとくにそう思います.

# rubyでそうなっているのは「ご都合」ですね.

こういう演算子に一番適切なのは恐らくCLOSのようなマルチメソッ
ドですが(全ての引数の型でディスパッチされる),これだけのため
にマルチメソッドを言語に導入する訳にもいきませんしねえ.

				まつもと ゆきひろ /:|)
Technical Details
Message-ID: <lvu39d25r9.fsf_-_@picachu.netlab.co.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <861zwkidmm.fsf@totally-fudged-out-message-id> <lvu39guubl.fsf@picachu.netlab.co.jp> <863eh0do80.fsf@totally-fudged-out-message-id> <6dicoe$lqo@meridian.akashi.flab.fujitsu.co.jp> <86en0ig6r9.fsf@totally-fudged-out-message-id> <6djekb$93k@meridian.akashi.flab.fujitsu.co.jp> <864t1eil2l.fsf@totally-fudged-out-message-id>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 10b195,a28a5726c6efeb63
X-Google-Attributes: gid10b195,public
X-Google-Thread: 10caf2,4c2a21ea2f072c7c,start
X-Google-Attributes: gid10caf2,public
From: Yukihiro Matsumoto <matz@netlab.co.jp>
Subject: redefining operators (Re: CLU and its companions)
Date: 1998/03/05
Message-ID: <lvu39d25r9.fsf_-_@picachu.netlab.co.jp>
X-Deja-AN: 330960012
References: <861zwkidmm.fsf@totally-fudged-out-message-id> <lvu39guubl.fsf@picachu.netlab.co.jp> <863eh0do80.fsf@totally-fudged-out-message-id> <6dicoe$lqo@meridian.akashi.flab.fujitsu.co.jp> <86en0ig6r9.fsf@totally-fudged-out-message-id> <6djekb$93k@meridian.akashi.flab.fujitsu.co.jp> <864t1eil2l.fsf@totally-fudged-out-message-id>
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=ISO-2022-JP
X-Complaints-To: usenet@riccia.linux.or.jp
X-Trace: riccia.linux.or.jp 889067364 13466 (None) 202.218.249.224
Organization: Network Applied Communication Laboratory, Japan
Newsgroups: fj.lang.misc,fj.lang.c++