[#1553] [BUG] String.dup — keiju@... (Keiju ISHITSUKA)

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

51 messages 1998/03/03
[#1554] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#1564] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/03

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

[#1565] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#1572] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/03

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

[#1578] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1580] Re: [BUG] String.dup — shugo@... (Shugo Maeda) 1998/03/04

前田です。

[#1584] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1591] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/04

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

[#1593] Re: [BUG] String.dup — matz@... (Yukihiro Matsumoto) 1998/03/05

まつもと ゆきひろです

[#1605] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/07

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

[#1606] Re: [BUG] String.dup — shugo@... (Shugo Maeda) 1998/03/07

前田です。

[#1609] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/08

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

[#1625] Re: [BUG] String.dup — shugo@... (Shugo Maeda) 1998/03/09

前田です。

[#1628] Re: [BUG] String.dup — keiju@... (石塚圭樹 ) 1998/03/09

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

[#1637] Re: [BUG] String.dup — shugo@... (Shugo Maeda) 1998/03/10

前田です。

[#1641] implementation of super_undef (Re: [BUG] String.dup) — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#1647] Re: implementation of super_undef (Re: [BUG] String.dup) — shugo@... (Shugo Maeda) 1998/03/10

前田です。

[#1648] Re: implementation of super_undef (Re: [BUG] String.dup) — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#1654] Re: implementation of super_undef (Re: [BUG] String.dup) — keiju@... (石塚圭樹 ) 1998/03/10

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

[#1656] Re: implementation of super_undef (Re: [BUG] String.dup) — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#1557] IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda)

前田です。

28 messages 1998/03/03
[#1558] Re: IO#putc/Kernel#putc/Kernel#putchar — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#1569] Re: IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda) 1998/03/03

前田です。

[#1577] Re: IO#putc/Kernel#putc/Kernel#putchar — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1579] Re: IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda) 1998/03/04

前田です。

[#1581] Re: IO#putc/Kernel#putc/Kernel#putchar — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1582] Re: IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda) 1998/03/04

前田です。

[#1583] Re: IO#putc/Kernel#putc/Kernel#putchar — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#1587] Re: IO#putc/Kernel#putc/Kernel#putchar — shugo@... (Shugo Maeda) 1998/03/04

前田です。

[#1592] Re: IO#putc/Kernel#putc/Kernel#putchar — keiju@... (石塚圭樹 ) 1998/03/05

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

[#1657] Re: [ruby-list:7057] Re: infinity — shugo@... (Shugo Maeda)

前田です。

99 messages 1998/03/10
[#1659] Re: [ruby-list:7057] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/10

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

[#1662] Re: [ruby-list:7057] Re: infinity — matz@... (Yukihiro Matsumoto) 1998/03/11

まつもと ゆきひろです

[#1680] Re: [ruby-list:7057] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/11

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

[#1690] Re: [ruby-list:7057] Re: infinity — Tadayoshi Funaba <tadf@...> 1998/03/11

ふなばです。

[#1692] Re: [ruby-list:7057] Re: infinity — shugo@... (Shugo Maeda) 1998/03/11

前田です。

[#1696] Re: [ruby-list:7057] Re: infinity — Tadayoshi Funaba <tadf@...> 1998/03/11

ふなばです。

[#1698] Re: [ruby-list:7057] Re: infinity — Tadayoshi Funaba <tadf@...> 1998/03/11

ふなばです。

[#1706] argument check in Range::new — shugo@... (Shugo Maeda) 1998/03/11

前田です。

[#1715] Re: argument check in Range::new — matz@... (Yukihiro Matsumoto) 1998/03/12

まつもと ゆきひろです

[#1661] Re: infinity — shugo@... (Shugo Maeda) 1998/03/10

前田です。

[#1665] Re: infinity — Kazuhisa YANAGAWA <katze@...> 1998/03/11

In message <199803101536.PAA01595@soleil.localnet.or.jp>

[#1670] Re: infinity — shugo@... (Shugo Maeda) 1998/03/11

前田です。

[#1699] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/11

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

[#1705] Re: infinity — shugo@... (Shugo Maeda) 1998/03/11

前田です。

[#1714] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/12

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

[#1739] Re: infinity — shugo@... (Shugo Maeda) 1998/03/12

前田です。

[#1750] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/12

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

[#1765] Re: infinity — shugo@... (Shugo Maeda) 1998/03/13

前田です。

[#1766] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/13

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

[#1770] Re: infinity — shugo@... (Shugo Maeda) 1998/03/13

前田です。

[#1774] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/13

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

[#1775] Re: infinity — shugo@... (Shugo Maeda) 1998/03/13

前田です。

[#1777] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/13

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

[#1780] Re: infinity — shugo@... (Shugo Maeda) 1998/03/13

前田です。

[#1781] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/13

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

[#1789] Re: infinity — shugo@... (Shugo Maeda) 1998/03/15

前田です。

[#1792] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/15

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

[#1783] [Req] Comparable#min/max — keiju@... (Keiju ISHITSUKA)

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

25 messages 1998/03/14
[#1794] Re: [Req] Comparable#min/max — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1798] Re: [Req] Comparable#min/max — keiju@... (石塚圭樹 ) 1998/03/16

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

[#1801] Re: [Req] Comparable#min/max — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1806] Re: [Req] Comparable#min/max — keiju@... (石塚圭樹 ) 1998/03/16

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

[#1808] Re: [Req] Comparable#min/max — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1809] Re: [Req] Comparable#min/max — keiju@... (石塚圭樹 ) 1998/03/16

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

[#1814] Re: [Req] Comparable#min/max — matz@... (Yukihiro Matsumoto) 1998/03/17

まつもと ゆきひろです

[#1791] Re: trap and throw problem — keiju@... (Keiju ISHITSUKA)

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

24 messages 1998/03/15
[#1796] Re: trap and throw problem — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1799] Re: trap and throw problem — keiju@... (石塚圭樹 ) 1998/03/16

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

[#1800] Re: trap and throw problem — matz@... (Yukihiro Matsumoto) 1998/03/16

まつもと ゆきひろです

[#1807] Re: trap and throw problem — keiju@... (石塚圭樹 ) 1998/03/16

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

[#1823] Re: trap and throw problem — matz@... (Yukihiro Matsumoto) 1998/03/17

まつもと ゆきひろです

[#1839] Re: trap and throw problem — keiju@... (石塚圭樹 ) 1998/03/17

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

[#1840] Re: trap and throw problem — matz@... (Yukihiro Matsumoto) 1998/03/17

まつもと ゆきひろです

[#1859] experimantal release 1.1b9_04 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

30 messages 1998/03/19
[#1912] Re: experimantal release 1.1b9_04 — Tadayoshi Funaba <tadf@...> 1998/03/24

ふなばです。

[#1908] RUBYLIB and default path problem — keiju@... (Keiju ISHITSUKA)

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

19 messages 1998/03/24
[#1909] Re: RUBYLIB and default path problem — matz@... (Yukihiro Matsumoto) 1998/03/24

まつもと ゆきひろです

[#1916] Re: RUBYLIB and default path problem — keiju@... (石塚圭樹 ) 1998/03/25

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

[#1919] Re: RUBYLIB and default path problem — matz@... (Yukihiro Matsumoto) 1998/03/25

まつもと ゆきひろです

[#1922] Re: RUBYLIB and default path problem — keiju@... (石塚圭樹 ) 1998/03/25

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

[#1923] Re: RUBYLIB and default path problem — matz@... (Yukihiro Matsumoto) 1998/03/25

まつもと ゆきひろです

[#2002] [Req] Binding.new — keiju@... (Keiju ISHITSUKA)

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

29 messages 1998/03/31
[#2003] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/03/31

まつもと ゆきひろです

[#2004] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/03/31

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

[#2008] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2010] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/02

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

[#2012] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2013] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/02

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

[#2014] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2015] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/02

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

[#2016] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2017] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2020] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/02

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

[#2021] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/02

まつもと ゆきひろです

[#2038] Re: [Req] Binding.new — keiju@... (石塚圭樹 ) 1998/04/03

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

[#2039] Re: [Req] Binding.new — matz@... (Yukihiro Matsumoto) 1998/04/03

まつもと ゆきひろです

[ruby-dev:1627] Re: [BUG] String.dup

From: keiju@... (石塚圭樹 )
Date: 1998-03-09 17:17:40 UTC
List: ruby-dev #1627
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :01616 ] the message: "[ruby-dev:1616] Re: [BUG]
String.dup ", on Mar/09 15:39(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>|私はsuperが本質的な問題になっていると気づくまでだいぶかかってしまいま
>|した. 構造の互換性をチェックする方法に目がいっていたもので(^^;;;
>
>まず最初に「私が1.1b9以降にこの問題に関して行ったこと」を書
>いておきます.まずクラスにインスタンスが通常のオブジェクトで
>ないことを示す1bitのフラグを用意して,すべての組み込みオブジェ
>クトに関してこのフラグを明示的にセットしました.

(中略)

>これらによって問題のほとんどが解消されます.

たぶん, 現在のところはそうだと思います.

>   拡張モジュールで
>   T_DATAなインスタンスを作るクラスを
>   Objectのサブクラスとして定義して
>   そのクラスのインスタンスが一つも定義される前に
>   例の方法(def new; super; end)を使って

>インスタンスを生成されちゃった場合ですが,これは
>
>  * ここまでされると仕方がない

まあそれでも良いと思います, でも, 落ちちゃうのはどうなんでしょ?

>  * T_DATAなクラスはDataのサブクラスにするよう指導する

Numericの例でも出ましたがDataのサブクラスにできないような場合は良くあ
りますよね.

他にも気づいた問題を.

1. 上記の方法はnewにしか対応していない. 
2. 上記の方法は, ObjectのサブクラスとしてPrimitiveがある場合にしか対応
   していない. つまり, あるPrimitiveに別のPrimitiveをサブクラスとして
   定義した場合の対応ができていない.

例えば, C++のクラスをrubyに実装しようとしたとします.

  class Foo {
    int foo;
  public:
    Foo();
  };
  class Bar :public Foo {
    int bar;
  public:
    Bar();
  };

  cFoo = rb_define_class("Foo", cObject);
  cBar = rb_define_class("Bar", cFoo);

Foo.new, Bar.newは各々のコンストラクタFoo(), Bar()を呼ぶようにします.
そうすると,
  def Bar.new; super; end

と再定義されるとまずいことが起こります.

さらに, これはnewの問題でしたが, サブクラスでオーバロードしているメン
バ関数がある場合も同じ問題が起こる可能性があります.

C++は絶対対応しないっていうなら別ですが(^^;;; Cの場合でも似たような
状況は起こりうると思います. 

# 例えばCXを拡張モジュールで実装するとか(^^;;; 内輪の話しですいません
# (__;;;

>|(案2) メソッドそのものの属性として super_undefされているかどうかの状態
>|      を持たせる. 
>まあ,これは無意味ではないですよね.実装もそんなに大変ではな
>いです.

ですね.

>|(案4) クラスのViewを導入する. super_undefはそのクラスから上位のクラス
>|      がどのように見えるメソッドを変更する手段です. クラスのviewを導入
>|      して, 下位のクラスからはviewを通して見えるようにすれば良いかなと
>|      思います. 
>
>えーと,viewって? ^^;;;

>|(案4)のviewは, 松本君が大学時代やっていた研究課題でしたよね? ですので, 
>|rubyに導入するのも悪くないかなと(^^;;; ただ, だいぶ追加機能が発生しま
>|すが...
>
>良く覚えてましたね.そんなこと.^^;;;

でしょ(^^;;;

>私の研究していたview(profileって名前でしたが)は静的型のある
>言語におけるクラスの外部仕様のサブセットでしたから,ここでの
>viewとはちょっと,というかだいぶん違いますよね.Javaにおける
>インターフェースに近いイメージですか.もう10年くらいの話になっ
>ちゃいますが.

そうですか... 似ていると思うんだけどなあ... クラスの外部仕様のサブセッ
トですから...

>|効果はないのですが, 元々の用途は上位クラスで定義されているメソッドを見
>|えなくするための機能なので, undefをsuper_undefと再定義しても全然問題な
>|いと思うのですが?
>|
>|# メソッドを消去するのはModule#remove_methodでした.
>
>まずそもそもsuper_undefってナニ? って疑問があるんですが….
># 最初の例に出て来たのは super_redef だし

>で,本来の話題に帰ると,元々の問題は一応の解決を見ちゃったん
>で,今回提示されたfinalとsuper_undef/super_redefとviewがそれ
>ぞれruby的にどのような意味を持つのか,採用すべきなのか,とい
>う話に移りたいんですケド.

super_undefの良いところ::

1. super_undefは, まだ, 解決できていない部分まで解決することが可能です.

ただ, この様な問題を解決するための機能ですので, 今の対応で十分であると
いうなら, 採用する理由はだいぶなくなります.

意味的にはメソッドの実装上の互換性を宣言するための機能なのですが, 通常
は今のundefとオーバーロードの機能さえあれば十分です. その機能だけで, 
対応できないのは, 意図しない再定義が行なわれた場合ですが, それで困る
(気分が悪い)のはPrimitiveのクラスの場合だけでしょうから.

2. undefの機能をこれと置き換える.

super_undefをundefとして採用することは, それなりに意味があると思います.
undefにあるがsuper_undefにない様な機能でこまることってないと思いますか
ら. さらに, 採用すると(1)の機能がおまけでついてきます(^^;;;

viewの方もsuper_undefと目的は同じですよね. ただ, もうちょっと大がかり
になっていますが. その他の利点については, viewの利点は松本氏の方が詳し
いでしょう(^^;;;

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread