[#11952] NORETURN — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

24 messages 2001/01/10
[#11956] Re: NORETURN — WATANABE Hirofumi <eban@...> 2001/01/10

わたなべです.

[#11957] Re: NORETURN — matz@... (Yukihiro Matsumoto) 2001/01/10

まつもと ゆきひろです

[#11958] Re: NORETURN — WATANABE Hirofumi <eban@...> 2001/01/10

わたなべです.

[#11959] CVS branches (Re: Re: NORETURN) — matz@... (Yukihiro Matsumoto) 2001/01/10

[#12087] string#index, gsub, []= のバグ? — Beyond <beyond@...>

18 messages 2001/01/27
[#12091] Re: string#index, gsub, []= のバグ? — matz@... (Yukihiro Matsumoto) 2001/01/27

まつもと ゆきひろです

[ruby-dev:11914] Re: [ 年賀 ] evalonce

From: nobu.nakada@...
Date: 2001-01-03 10:36:36 UTC
List: ruby-dev #11914
なかだです。

At Wed, 3 Jan 2001 01:39:16 +0900,
matz@zetabits.com (Yukihiro Matsumoto) wrote:
> |  てなわけで(どんな)、年賀パッチ(現実逃避ともいう)。年に一度というか世
> |紀に一度というか NODE_EVAL_ONCE とついでに builtin mutex & condition
> |variable と、静的な条件での NODE の削減です。
> |
> |  $() なんてのまで入っちゃってますが、これはまぁついイキオイってやつな
> |のであまり気にしないように(^^;。
> 
> デカイです。あまりにもデカイです。
> こんなに大きいと取り込めません。恐くて。

  ですね。(^^;

> ま、やってることはだいたいは理解しましたけど、必要性や嬉しさ
> についてはまだよくわかりません。せっかくですから、これらひと
> つひとつについて、採用するかどうかなどについてぼちぼち議論し
> ませんか?

  もちろん議論の叩き台になるだけでも。

(1) NODE_EVAL_ONCE
    要するに一度だけ評価されるという機能は //o だけ持っててズルいじゃ
    ん(^^;ってことです。

    正規表現のコンパイルを繰り返すのを避けるためにできたという歴史的事
    情は分かるのですが、もう少し般化することもできるんじゃなかろうかと。

(2) builtin Mutex & ConditionVariable
    これは、[ruby-dev:11659] で指摘された通り、EVAL_ONCE/DREGEX_ONCE 
    をきちんとやろうと思ったらやっぱ必要だったということで。

    ただその後、Mutex#lock とか ConditionVariable#wait で待ちに入って
    るときに例外を起こされた場合とか、ロックしたスレッドがそのまま死ん
    じゃったりした場合のことを考えてなかったことに気づいたので、あれだ
    とやっぱりまずいです。

(3) NODE の省略
    これは静的な条件(とくに EVAL_ONCE も含めて)のときにちょっとだけ最
    適化できるかなと思ったものです。が、begin ... end while false なん
    てのを省略しすぎてるというバグがあったりして、見直しが必要です。

  とりあえずこんなところで話はつながるでしょうか。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread

Prev Next