Path: ccsf.homeunix.org!CALA-MUZIK!ie.u-ryukyu.ac.jp!not-for-mail From: kono@ie.u-ryukyu.ac.jp (Shinji KONO) Newsgroups: fj.comp.lang.misc Subject: Re: Languages with Keyword parameters Date: Mon, 25 Dec 2006 12:31:37 +0000 (UTC) Organization: Information Engineering, University of the Ryukyus Lines: 50 Message-ID: <3993422news.pl@rananim.ie.u-ryukyu.ac.jp> References: <3993410news.pl@rananim.ie.u-ryukyu.ac.jp> NNTP-Posting-Host: insigna.ie.u-ryukyu.ac.jp Mime-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Trace: naha.ie.u-ryukyu.ac.jp 1167049897 27347 133.13.48.71 (25 Dec 2006 12:31:37 GMT) X-Complaints-To: news-admin@ie.u-ryukyu.ac.jp NNTP-Posting-Date: Mon, 25 Dec 2006 12:31:37 +0000 (UTC) X-Image-URL: http://www.ie.u-ryukyu.ac.jp/~kono/skono.gif Fcc: send X-Newsreader: news.pl 1.17 2005/05/10 01:26:04 Content-ID: <16089.1167049820.1@insigna.ie.u-ryukyu.ac.jp> Xref: ccsf.homeunix.org fj.comp.lang.misc:180 河野真治 @ 琉球大学情報工学です。 In article , yas@is.tsukuba.ac.jp (Yasushi Shinjo) writes > Common Lisp って、大分新しいです。それが出きる前から普通にあっ > たと思います。 普通かどうかは... PL/1 かなぁ? コンパイラで実装しやすいので、 PL/1 かも知れないな。Mesa とか? (チェックしてません) C でやろうと思ったら、構造体渡しにして、 int printf(const char *,...); struct hoge { int hage, fuga; }; void f(struct hoge h) { printf("%d %d\n",h.hage,h.fuga); } int main() { f((struct hoge){.fuga = 3}); } とかいう技があるかな。(明示したものが以外は0で初期化されるはずです...) 構造体渡しは、レジスタに載せるアーキテクチャも多い。IA32は だめですが。 > Ada も、それなりに新しい気もするけど。Common Lisp よりは古い。 > そいいえば、今、Ada っ > てどうなっているんだろう。 軍関係で立派に残っているようです。 > > my %arg = @_; > > &hoge(-width=>3, -height=>4); > > とか呼び出す手法があります。Perl/Tk は多用してます。 > ハッシュ表渡しね。引数が勝手にハッシュ表になるのね。 なるって言うか、明示的に変換するわけですね。a => b は、((quote a) b) みたいなものです。 > Smalltalk は、そんな気がしました。順番引っくり返せないけれど、 > 省略は可能ってことですか。 いいえ、定義したものだけです。省略できません。 --- Shinji KONO @ Information Engineering, University of the Ryukyus 河野真治 @ 琉球大学工学部情報工学科