[#48770] Re: Rubyで静的型 — "Toshiyuki Sasaki" <tsasaki1@...>
> この場合、この例では簡単かもしれませんが、たとえばvarが別のメソッド
10 messages
2014/12/23
[#48771] Re: Rubyで静的型
— Hideki Miura <m-72@...6.so-net.ne.jp>
2014/12/23
三浦です
[ruby-dev:48776] Re: Rubyで静的型
From:
"Toshiyuki Sasaki" <tsasaki1@...>
Date:
2014-12-23 09:03:21 UTC
List:
ruby-dev #48776
佐々木です。 > 三浦です > > > そうなんですか。しょせん人が手で書いた量のプログラム。 > > コンピュータならあっという間に処理できると思ったのですが。 > > 型推論の伝播を調べるのなら十分可能と踏んだのですが・・・。 > > 型推論はちょっと足を踏み外すと計算量が爆発する類の問題なので > 結構大変です。 例えばどんなときに計算量が爆発するのか、教えてもらってもよろしい でしょうか。(ネットで検索しても良く分かりませんでした) もっとも私に理解できる能力があるかも問題ですが。 私の構想中の自作言語は、この型の自動汎化の機構に全面的に 依存しているので、できないと大変困るのです。 > > > > > ちょっと私の説明が悪かったです。三浦さんが言うに > > 「変数にどんな値が入りうるのか静的に確定させるのはそれなりに > > 困難」とのことですが、動的な条件(コンパイル時そうと分かるはず)のもと > > でのある > > 変数への代入を列挙したもの(コードのある地点までに)が「変数にどんな値 > > が入り > > うるのか」になれると思います。ただしそれはコードの地点が違えば違った > > ものになるので、確かに三浦さんが言うようにそれなりに困難かもしれません。 > > どんな値が入りうるかは確かに計算可能ですが、これもたくさん分岐がある場合 > すぐ可能性が莫大な物になります。 > あと、共通するメソッドの表を作るのも結構大変そうです。 > ただ、この手の問題は良いアルゴリズムがあるものなので、私が知らないだけ > という可能性もすごくあります。 これも私の言語にとっての問題点ですが、良いアルゴリズムがあるだろうという ことで楽観的に考えることにします。 > > > > そうでしたか。私も自作の言語を考えていて、言語仕様は考えるのですが実装 > > の方 > > まで手が回らずそういったことには疎いのです。 > > 実装は実装で面白いですからね。 > 一番難しいのは、実装を知った上で実装にとらわれない言語仕様を考えること > じゃないでしょうか 言語の仕様を考えるのは私にとってとても難しい作業です。 実装がこれより難しくないことを祈るばかりです。 以上、自作言語についての話になってしまいましたが、この型の自動汎化の 機構がうまく行けば、Rubyにも応用可能であるものとして、ここでの話を続け させてください。-->みなさま