まつもと ゆきひろです

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

|  受け入れ難いというのは十分承知してますが、やはり欲しいので(^^;

拒否するわけではないですが、こういう影響範囲が大きいものは慎
重になります。

|  といってもやはり標準Rubyへの構文追加である dcl は駄目そうなので、
|
|  ・ruby にオプションか別名で呼ばれた時には dcl 文を解釈するようにする。
|  ・ruby パーザに機能を動的に(Rubyスクリプトで)追加できる仕掛けを入れる。
|
|  というのはどうでしょうか?

うーん、やはりおおげさですねえ。そんな大変なことが本当に必要
なんですか? いっそ

  dcl "str():String"

とかは。ちょっとかっこ悪いけど、情報量も記法も妥協できるので
は? こんな感じ。

  class A
    extend IDL
    dcl "foo():void"
    def foo(); end

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

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

# Pascalっぽい宣言に直してます。C的宣言は腐ってると思うので

Rubyのパーザが使いたいと言うことでしたが、もともと dcl の部
分は文法が異なるので、結局は文字列で扱って構わないでしょう。
要は別のツールで分離するフェーズが作りたくないということでしょ
う?

|# ところで遠い将来というのは、1.6 は無理でしょうが 2.0 は含みますか? :-P

私が「遠い将来」っていうときは大体次のような意味です。

  * 次のバージョンじゃない
  * 適切な実装(or アイディアetc.)が思い付いてから
  * 時間ができたら(or その気になったら)
  * あるいは、一生採用しない ^^;;;

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