[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>

しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので

15 messages 2003/05/19
[#20234] Re: dyna_vars problem? — matz@... (Yukihiro Matsumoto) 2003/05/19

まつもと ゆきひろです

[#20236] Re: dyna_vars problem? — Tanaka Akira <akr@...17n.org> 2003/05/19

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

[ruby-dev:20134] Re: Array#map

From: Koji Arai <JCA02266@...>
Date: 2003-05-01 16:39:05 UTC
List: ruby-dev #20134
新井です。

In message "[ruby-dev:20129] Re: Array#map"
  on 01 May 2003 11:46:29 +0900,
  matz@ruby-lang.org (Yukihiro Matsumoto) wrote:
> まつもと ゆきひろです

> 問題は「どっちがどうかを覚えておくコスト」にあるんです。こう
> いう地道なコスト削減が現在のRubyを産んでいるのだと思うのです。

仕様(挙動)がころころ変わるとどのバージョンがどうかを覚えてお
くコストがかかる罠。

>  * 1.6の面倒をみるのが面倒になった

1.6.9 出して打ちどめで全然問題ないと思います。バグももう直さ
ない。1.6 利用者はその方がうれしいと思います。ただ、.9 で最
後になるので、慎重に(^^

>  * 1.8の仕様がなかなか確定しない

1.8.0 は開発版だと宣言しちゃいましょう。そして、feature
freeze も宣言しちゃいましょう。そしてバグ出しが落ち着いたら
1.8.1 安定版リリース!

>  * 1.8の仕事の方が手軽(だから先にやっちゃう)
>  * 1.9の仕様のことも心配だ

で、不安定な仕様は 1.9.0 に追い出しましょう。

ってのはいかがでしょう?


以下、軽く洗い出した unstable feature

* Proc#yield
    ... 1.8.0 では、Proc#yield 削除! とか?
* $stdin,$stdout,$stderr への代入の挙動
    ... 1.6 でも文句が出ないし、1.6 の仕様に戻すのが好み(ど
        うせ使われてないと思うし)
* "".reverse! は "" を返すが、[].reverse! は nil を返す。
    ... どちらかへの統一が望まれるのではないかと(掘り返すな?^^;)。

以下、ChangeLog に experimental と書かれたものを抜き出してみ
ました

heading = nil
while block = gets('')
  if /^\S/ =~ block
    heading = block
    next
  end
  if /experimental/i =~ block
    puts heading, block
  end
end

関係ないのや fix されたものまで抽出されてますが、数が多くな
いのでそのままにしてます。

Wed Apr  9 18:30:58 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* eval.c (top_include): include module to wrapper module if
	  wrapper is present. experimental.  [ruby-list:37539]

Wed Feb 19 18:27:42 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>

	* node.h (nd_cpath): nested class/module declaration.
	  [EXPERIMENTAL]

Fri Nov  8 04:16:55 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* parse.y (yylex): "a" in "a /5" should be considered as a local
	  variable. [experimental]

Fri Oct 11 15:58:06 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* parse.y (arg): rescue modifier is now an operator with
	  precedence right below assignments. i.e. "a = b rescue c" now
	  parsed as "a = (b rescue c)", not as "(a = b) rescue c". [new]
	  [experimental]

Mon Sep  9 11:21:04 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>

	* ext/stringio/stringio.c (strio_become): added self-assign check
	  and experimental auto-conversion to StringIO.

Tue Jun 25 00:34:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* object.c (rb_Integer): use "to_int" instead of
	  "to_i". [experimental]

Tue Dec 11 03:40:23 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* array.c (rb_ary_select): Array#select(n,m,...) now works like
	  Array#indexes(n,m,..). [new, experimental]

Tue Dec  4 17:43:10 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* time.c (time_getlocaltime): new method;  probably requires
	  better name than getlocaltime. [new,experimental]

Thu Nov 15 00:07:12 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* array.c (rb_ary_to_s): if rb_output_fs is nil, insert newlines
	  between array elements (use rb_default_rs as newline literal)
	  [experimental].

Tue Jun 19 16:29:50 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* eval.c (svalue_to_mvalue): new function to convert from svalue
	  to mvalue. [experimental]

Sat May 26 09:55:26 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* parse.y: accomplish extended syntax described in [ruby-talk:14525]
	  using tSPC token. [new, experimental]

Tue May 22 02:37:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* parse.y (expr): "break" and "next" to take optional expression,
	  which is used as a value for termination. [new, experimental]

Wed Feb  7 00:57:42 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* parse.y (cond0): disable special treating of integer literal in
	  conditional unless option -e is supplied.  changes current
	  behavior.  experimental.

ruby 1.7.0 が、2000年12月スタートらしいのでそれ以前をカットしました。

--
新井康司 (Koji Arai)

In This Thread