[#8530] Enumerable and rand — Koretsugu Daigoro <tmmcross@...>

これつぐです。

21 messages 1999/12/05
[#8534] Re: Enumerable and rand — matz@... (Yukihiro Matsumoto) 1999/12/06

まつもと ゆきひろです

[#8581] Re: [ruby-list:19228] Ruby 1.4.3 — Katsuyuki Komatsu <komatsu@...>

小松です。

19 messages 1999/12/07
[#8592] Re: [ruby-list:19228] Ruby 1.4.3 — matz@... (Yukihiro Matsumoto) 1999/12/07

まつもと ゆきひろです

[#8645] urllib and httplib — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

47 messages 1999/12/14
[#8646] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/14

なひです.

[#8653] Re: urllib and httplib — matz@... (Yukihiro Matsumoto) 1999/12/14

まつもと ゆきひろです

[#8656] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/15

なひです.

[#8659] Re: urllib and httplib — Wakou Aoyama <wakou@...> 1999/12/15

青山です。

[#8685] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/21

なひです.

[#8687] Re: urllib and httplib — TAKAHASHI Masayoshi <maki@...> 1999/12/21

高橋征義です。

[#8690] Re: urllib and httplib — matz@... (Yukihiro Matsumoto) 1999/12/21

まつもと ゆきひろです

[#8717] Re: urllib and httplib — TAKAHASHI Masayoshi <maki@...> 1999/12/24

高橋征義です。

[#8963] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/01/19

なひです.

[#8650] [PATCH] Ruby/Tk — Koji Arai <JCA02266@...>

新井です。

20 messages 1999/12/14
[#8651] Re: [PATCH] Ruby/Tk — Koji Arai <JCA02266@...> 1999/12/14

新井です。

[#8692] [win] dir name — KANEKO Naoshi <wbs01621@...>

金子です。

22 messages 1999/12/21
[#8695] Re: [win] dir name — Koji Oda <oda@...1.qnes.nec.co.jp> 1999/12/22

小田@QNES です。

[#8741] Re: [ruby-list:19945] Re: array + empty string — Wakou Aoyama <wakou@...>

青山です。

18 messages 1999/12/27
[#8743] Re: [ruby-list:19945] Re: array + empty string — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8742] [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...>

西@九大です。

64 messages 1999/12/27
[#8744] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8748] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...> 1999/12/28

西@九大です。

[#8751] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8767] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...> 1999/12/29

西@九大です。

[#8777] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/30

まつもと ゆきひろです

[#8791] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Minero Aoki <aamine@...> 1999/12/31

あおきです。

[#8792] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/31

まつもと ゆきひろです

[#8793] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — ARIMA Yasuhiro <fit0298@...> 1999/12/31

有馬です。

[#8795] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Akinori MUSHA aka knu <knu@...> 1999/12/31

 knuです。

[#8798] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 2000/01/01

まつもと ゆきひろです

[#8811] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Akinori MUSHA aka knu <knu@...> 2000/01/03

 knuです。

[ruby-dev:8567] Re: interface declaretion

From: matz@... (Yukihiro Matsumoto)
Date: 1999-12-07 06:08:11 UTC
List: ruby-dev #8567
まつもと ゆきひろです

In message "[ruby-dev:8565] interface declaretion"
    on 99/12/07, "Dai.K." <MAP2303@mapletown.net> writes:

|  すぐにではないんですが、Ruby/CORBA で Rubyスクリプトから IDL の生成をや
|るつもりです。IDL というのは C++ のサブセット風の言語で、インターフェース
|のみを記述するものです。

|  というわけで、Ruby スクリプトで IDL と同等のことを記述したいのですが、
|先ほどの例を見て分かる通り、例えば型などは Ruby の文法では情報が足りませ
|ん。まだ typedef とか enum どうしようとかもあるんですが、とりあえず、メ
|ソッド宣言文を加えてくれませんか?

えーと、動的な型言語に型情報を加えると言う試みはあまり成功し
たものがないので、十分に検討を加えないといかんと思います。動
的な型のみの言語ってのは単に静的な型言語の型が省略されている
だけでなく、いろいろと違った性質を持つのが一番面倒なところで
す。そういう観点から言うと、今回例に出た dcl ってのは私には
許容できません。

# けっこうこういう方面にうるさいらしい。

というわけで、遠い将来に向けてならともかく現実的な範囲内で
「宣言専用の構文」の追加はやや望みが薄いと考えます。ごめんね。

dclよりはもうちょっと現実的そうなのは

  * Common Lisp の the などのような引数/変数に対する型情報の付加
  * 型宣言を兼ねた型チェック構文

などですが、動的言語の「型よりもシグナチャ」、「型による分岐
はむしろ拡張性を阻害する」という性質を考えるとなかなか踏み切
れないものがあります。

もっと現実的なのは

  * Rubyっぽい構文のIDLもどきを作る

     class A
       def foo():void
       end

       def str():String
         return "Hello World"
       end

       def test(i: in Integer):String
         i.to_s
       end
     end

  * コメントに型情報を埋め込む

     class A
       # foo():void
       def foo()
       end

       # str():String
       def str()
         return "Hello World"
       end

       # test(i: in Integer):String
       def test(i)
         i.to_s
       end
     end

ことでしょうか。プリプロセッサでRubyとインタフェース記述を分
離すれば良いと思います。コメントなら分離する必要はなくて、イ
ンタフェース記述を抽出するだけで済みますね。

                                まつもと ゆきひろ /:|)

In This Thread