🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.functional
Article #3

Re: Where SML will go? SMLはどこへ

#3
From: Yuuji Ichisugi
Date: Wed, 27 Nov 1996 00:00
35 lines
2093 bytes
 一杉@電総研です。
 followup-to: fj.lang.java にしました。

In article <FUNATO.96Nov25130805@tansu.shpcsl.sharp.co.jp> funato@shpcsl.sharp.co.jp (Nobuhiko Funato) writes:
># それにしても、Java(私は細かいことを知らない)の型システムの「穴」って、
># 何らかのinconsistencyということでしょうか?

 ぼくが昔 comp.lang.java で読んだ「 java の型システムの穴」は、

	「A => B (B が A の subtype)の時、 A[] => B[] とする」

というルールです。例えば A => B, A => C の時、次のプログラムを実行すると
問題が起きます。

	A a[];
	B b[];
	b = new B[10];
	a = b;			// A[] => B[] なので OK
	a[0] = new C();		// A => C なので OK
	b[0].method_of_b();	// error !!

#シンタックスが違ってたらごめんなさい。


 で、これは java のセキュリティーホールになるかというとそうではなくて、
確か配列の代入時に実行時型チェックを入れることによって問題を
避けているそうです。

 それにしてもこの「 A[] => B[] とする」っていうルール、なにか
メリットあるんでしょうか。
 ただでさえ nil と添字のチェックで遅い配列アクセスがますます
遅くなるだけなような。
---
					一杉裕志@電総研   ichisugi@etl.go.jp
Technical Details
Message-ID: <ICHISUGI.96Nov27135106@buna.etl.go.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <pug22cefu3.fsf@tornado.kaba.or.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: f5c49,90f034e8e1d6f884,start
X-Google-Attributes: gidf5c49,public
X-Google-Thread: 10b195,90f034e8e1d6f884,start
X-Google-Attributes: gid10b195,public
X-Google-Thread: ff64a,90f034e8e1d6f884,start
X-Google-Attributes: gidff64a,public
From: ichisugi@etl.go.jp (Yuuji Ichisugi)
Subject: Re: Where SML will go? SMLはどこへ
Date: 1996/11/27
Message-ID: <ICHISUGI.96Nov27135106@buna.etl.go.jp>
X-Deja-AN: 200968525
references: <pug22cefu3.fsf@tornado.kaba.or.jp>
followup-to: fj.lang.java
content-type: text/plain; charset=ISO-2022-JP
organization: Electrotechnical Laboratory, JAPAN
mime-version: 1.0
newsgroups: fj.lang.functional,fj.lang.java,fj.lang.misc