[#17881] Re: [ruby-list:35696] Re: サブクラスのオブジェクト生成時に、スーパークラスの初期化を行うには ? — nobu.nakada@...

なかだです。

14 messages 2002/08/02
[#17883] Re: [ruby-list:35696] Re: サブクラスのオブジェクト生成時に、スーパークラスの初期化を行うには ? — nobu.nakada@... 2002/08/02

なかだです。

[#17906] Re: [ruby-list:35696] Re: サブクラスのオブジェクト生成時に、スーパークラスの初期化を行うには ? — Takaaki Tateishi <ttate@...> 2002/08/03

At Fri, 2 Aug 2002 12:17:33 +0900,

[#17908] Re: [ruby-list:35696] Re: サブクラスのオブジェクト生成時に、スーパークラスの初期化を行うには ? — matz@... (Yukihiro Matsumoto) 2002/08/03

まつもと ゆきひろです

[#17909] Re: [ruby-list:35696] Re: サブクラスのオブジェクト生成時に、スーパークラスの初期化を行うには ? — Takaaki Tateishi <ttate@...> 2002/08/03

At Sat, 3 Aug 2002 23:32:39 +0900,

[#17887] next parser (Re: parenthesize argument(s) for future version) — Minero Aoki <aamine@...>

あおきです。スレッド切ります。

18 messages 2002/08/02
[#17895] Re: next parser (Re: parenthesize argument(s) for future version) — matz@... (Yukihiro Matsumoto) 2002/08/03

まつもと ゆきひろです

[#17898] Re: next parser (Re: parenthesize argument(s) for future version) — Minero Aoki <aamine@...> 2002/08/03

あおきです。

[#17904] Re: next parser (Re: parenthesize argument(s) for future version) — matz@... (Yukihiro Matsumoto) 2002/08/03

まつもと ゆきひろです

[#17920] Re: next parser (Re: parenthesize argument(s) for future version) — Minero Aoki <aamine@...> 2002/08/04

あおきです。

[#17933] Re: next parser (Re: parenthesize argument(s) for future version) — matz@... (Yukihiro Matsumoto) 2002/08/06

まつもと ゆきひろです

[#17889] ruby-bugs-ja incoming/277 — Takaaki Tateishi <ttate@...>

立石です.

15 messages 2002/08/02
[#17890] Re: ruby-bugs-ja incoming/277 — Takaaki Tateishi <ttate@...> 2002/08/02

At Sat, 3 Aug 2002 05:13:32 +0900,

[#17927] Re: import-module (Re: Re: scope-in-state) — keiju@... (石塚圭樹)

けいじゅ@日本ラショナルソフトウェアです.

13 messages 2002/08/05
[#17943] Re: import-module (Re: Re: scope-in-state) — Shin-ichiro HARA <sinara@...> 2002/08/06

原です。

[#17949] Re: import-module (Re: Re: scope-in-state) — keiju@... (石塚圭樹) 2002/08/06

けいじゅ@日本ラショナルソフトウェアです.

[#17955] Re: import-module (Re: Re: scope-in-state) — Shin-ichiro HARA <sinara@...> 2002/08/07

原です。

[#17954] Selection IPv4/IPv6 at TCPSocket — NISHI Takao <zophos@...9.com>

にし@おかやまです。

19 messages 2002/08/07
[#18120] Re: Selection IPv4/IPv6 at TCPSocket — "Akinori MUSHA" <knu@...> 2002/08/31

At Wed, 7 Aug 2002 13:23:37 +0900,

[#18121] Re: Selection IPv4/IPv6 at TCPSocket — GOTO Kentaro <gotoken@...> 2002/08/31

At Sun, 1 Sep 2002 03:31:01 +0900,

[#18127] Re: Selection IPv4/IPv6 at TCPSocket — "Akinori MUSHA" <knu@...> 2002/09/01

At Sun, 1 Sep 2002 04:00:33 +0900,

[#18128] Re: Selection IPv4/IPv6 at TCPSocket — "Akinori MUSHA" <knu@...> 2002/09/01

At Sun, 1 Sep 2002 12:37:05 +0900,

[#18130] Re: Selection IPv4/IPv6 at TCPSocket — GOTO Kentaro <gotoken@...> 2002/09/01

At Sun, 1 Sep 2002 13:00:46 +0900,

[#18131] Re: Selection IPv4/IPv6 at TCPSocket — Minero Aoki <aamine@...> 2002/09/01

あおきです。

[#17965] inferior-ruby-mode and irb — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

22 messages 2002/08/09
[#17971] Re: inferior-ruby-mode and irb — matz@... (Yukihiro Matsumoto) 2002/08/10

まつもと ゆきひろです

[#18008] Re: inferior-ruby-mode and irb — keiju@... (石塚圭樹) 2002/08/14

けいじゅ@日本ラショナルソフトウェアです.

[#17966] Hash has default block? — Tanaka Akira <akr@...17n.org>

ふと、ひさしぶりに(一年ぶりくらい?) AMarshal に手を入れていて気になっ

34 messages 2002/08/09
[#17967] Re: Hash has default block? — "K.Kosako" <kosako@...> 2002/08/09

Tanaka Akiraさんの<hvo8z3gnvr6.fsf@coulee.a02.aist.go.jp>から

[#17969] Re: Hash has default block? — Tanaka Akira <akr@...17n.org> 2002/08/09

In article <20020809121059.B6DC51560@helium.ruby-lang.org>,

[#17977] Re: Hash has default block? — "K.Kosako" <kosako@...> 2002/08/12

Tanaka Akiraさんの<hvo65yknitf.fsf@coulee.a02.aist.go.jp>から

[#17989] Re: Hash has default block? — Tanaka Akira <akr@...17n.org> 2002/08/13

In article <20020812052018.C7F9B1671@helium.ruby-lang.org>,

[#17990] Re: Hash has default block? — matz@... (Yukihiro Matsumoto) 2002/08/13

まつもと ゆきひろです

[#17991] Re: Hash has default block? — matz@... (Yukihiro Matsumoto) 2002/08/13

まつもと ゆきひろです

[#17998] Re: Hash has default block? — "K.Kosako" <kosako@...> 2002/08/13

Yukihiro Matsumotoさんの

[#17999] Re: Hash has default block? — Tanaka Akira <akr@...17n.org> 2002/08/13

In article <20020813075933.DBB611415@helium.ruby-lang.org>,

[#18000] Re: Hash has default block? — matz@... (Yukihiro Matsumoto) 2002/08/13

まつもと ゆきひろです

[#18004] allocation framework — Tanaka Akira <akr@...17n.org> 2002/08/13

In article <1029229143.399680.2549.nullmailer@picachu.netlab.jp>,

[#18021] Re: allocation framework — matz@... (Yukihiro Matsumoto) 2002/08/15

まつもと ゆきひろです

[#18022] Re: allocation framework — Tanaka Akira <akr@...17n.org> 2002/08/15

In article <1029423141.763951.25373.nullmailer@picachu.netlab.jp>,

[#18023] Re: allocation framework — matz@... (Yukihiro Matsumoto) 2002/08/16

まつもと ゆきひろです

[#18024] Re: allocation framework — Tanaka Akira <akr@...17n.org> 2002/08/16

In article <1029464034.601483.27585.nullmailer@picachu.netlab.jp>,

[#18074] source file name at -r option — nobu.nakada@...

なかだです。

30 messages 2002/08/24
[#18352] Re: source file name at -r option — nobu.nakada@... 2002/09/22

なかだです。

[#18662] Re: ENABLE/DISABLE_TRACE (was Re: source file name at -r option) — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/11/06

なひです。

[#18663] Re: ENABLE/DISABLE_TRACE (was Re: source file name at -r option) — nobu.nakada@... 2002/11/06

なかだです。

[#18667] Re: ENABLE/DISABLE_TRACE (was Re: source file name at -r option) — matz@... (Yukihiro Matsumoto) 2002/11/06

まつもと ゆきひろです

[#18673] Re: ENABLE/DISABLE_TRACE (was Re: source file name at -r option) — nobu.nakada@... 2002/11/07

なかだです。

[#18076] Win32 signal, process etc — nobu.nakada@...

なかだです。

14 messages 2002/08/24

[#18103] autoload patch for ruby-1.7 — "Yoshinori K. Okuji" <okuji@...>

[ruby-dev:16180]でトップレベル以外の定数についてもautoloadができるよう

24 messages 2002/08/29
[#18132] Re: autoload patch for ruby-1.7 — Minero Aoki <aamine@...> 2002/09/01

あおきです。

[#18139] Re: autoload patch for ruby-1.7 — "Yoshinori K. Okuji" <okuji@...> 2002/09/01

At Sun, 1 Sep 2002 15:53:24 +0900,

[#18145] Re: autoload patch for ruby-1.7 — Minero Aoki <aamine@...> 2002/09/02

あおきです。

[#18109] mkmf.rb and extmk.rb — WATANABE Hirofumi <eban@...>

わたなべです。

24 messages 2002/08/30
[#18157] Re: mkmf.rb and extmk.rb — matz@... (Yukihiro Matsumoto) 2002/09/03

まつもと ゆきひろです

[#18159] Re: mkmf.rb and extmk.rb — WATANABE Hirofumi <eban@...> 2002/09/03

わたなべです。

[ruby-dev:17955] Re: import-module (Re: Re: scope-in-state)

From: Shin-ichiro HARA <sinara@...>
Date: 2002-08-07 05:38:00 UTC
List: ruby-dev #17955
原です。

>けいじゅ@日本ラショナルソフトウェアです.

> >import-module でも、例えば [クラス, モジュール] の配列の配列を引数に
> >して
>
>(中略)
>
> >で、複数のインクルードができはするのですが、もっとシステマティックにや
> >りたいわけですね。
>
>そうですね. import_moduleは import_moduleでモジュールを指定するわけで,
>ライブラリを使う側がincludeしたいモジュールを指定するわけですよね.
>scope-in-stateはライブラリを提供する側があらかじめ変更したい振る舞いを
>宣言しています. で利用者側はその宣言されたものだけを使います. その辺り
>の感覚が違うんだと思いますね.

なーるほど、よく分かりました。それに比べると import-module はどちらかと
いうと既にあるプログラムに対するパッチ感覚です。でも、例えば

def nested_modules(mod)
   aa = []
   mod.constants.each do |c|
     m = mod.const_get(c)
     mod0 = eval m.name.sub(/[^:]*/, '')
     if m.instance_of?(Module)
       if m != mod
         aa << [mod0, m]
         aa.concat nested_modules(m)
       end
     end
   end
   aa
end

とか作って、[ruby-dev:17943]の import-modules に渡せば、scope-in-state
相当になるんですけどね。だから import-modules からは、scope-in-state
は一つのアプリケーションに見えなくもない。

>もともとのアイディアがclass-in-stateなわけですが, UMLでこういうものが
>ある理由は, Rubyのクラスのように動的に振る舞いを変えることのできるクラ
>スはUMLのクラス図ではまともに表現できません. かといって, やはりクラス
>図で表現したいというときに用いる手段として存在しています. ですので,
>scope-in-stateも静的に表現できるってところにこだわっています.

なるほど。


>私も実装をどうやったのか覚えていなくて, 思い出すのに苦労しました. 私の
>もですが, 原さんのも理解するのが難しい実装ですよね(^^;;;

すいません。あまりに未整理のまま人に読ませてしまったので、反省して
ます。今 Ver. 0.16 を作りました。こっちは2倍(当校比)読みやすい
はずです。これで scope-in-state と同じぐらいの読みにくさかと。:-)


>ところで, scope-in-stateにメソッドキャッシュを導入してみました. これだ
>と, multi-thread版のimport-moduleと同じぐらいになりました. これがこの
>タイプの実装の限界でしょうかね. どうやっても, single-thread版なみには
>ならないでしょうね(^^;;;

>keibm% ruby -I import-module-0.12 import-module-0.12/test-time.rb 0
>multi thread(scopes in 1000 loops)      : 9.9948
>multi thread(1000 loops in a scope)     : 0.0600
>keibm% ruby -I import-module-0.12 import-module-0.12/test-time.rb 9
>single thread(scopes in 1000 loops)     : 5.6054
>single thread(1000 loops in a scope)    : 0.0067
>keibm% ruby -I import-module-0.12 import-module-0.12/test-time.rb 8
>scope in state(scopes in 1000 loops)    : 0.2268
>scope in state(1000 loops in a scope)   : 0.1880
>
># 新scope-in-state
>keibm% ruby -I import-module-0.12 import-module-0.12/test-time.rb 7
>scope in state 2(scopes in 1000 loops)  : 0.2414
>scope in state 2(1000 loops in a scope)   : 0.0429

おかしい〜、import-module が負けるなんて!!

というわけで負けじとキャッシュもどきを実装してみました。multi-thread 
(1000 loops in a scope)で3倍近く早くなりました。

VER. 0.12
$ ruby -I import-module-0.12 test-time.rb 0
multi thread(scopes in 1000 loops)      : 10.8445
multi thread(1000 loops in a scope)     : 0.0619
$ ruby -I import-module-0.12 test-time.rb 9
single thread(scopes in 1000 loops)     : 5.5303
single thread(1000 loops in a scope)    : 0.0061

VER. 0.16
$ ruby test-time.rb 0
multi thread(scopes in 1000 loops)      : 5.3673
multi thread(1000 loops in a scope)     : 0.0223
$ ruby test-time.rb 9
single thread(scopes in 1000 loops)     : 3.9388
single thread(1000 loops in a scope)    : 0.0044


># でも, もっと良い実装のアイディアが出ましたので, もうちょっと頑張って
># みます. 

いやあ、もう限界だと思うけど、、、いったい何でしょう。興味津々。

これ以上難しくなりませんように。:-)

In This Thread