ECMAScript デス 2

このエントリーをはてなブックマークに追加
947デフォルトの名無しさん:2007/08/13(月) 04:10:49
>>931
>>944
あれは代数的データ型と言ってだなry
ES4の型なんてまさに代数的データ型だろ。
さらにメタプログラミングでカオスってるが。

関数型言語知ってりゃ結構普通の概念なんだが。
948デフォルトの名無しさん:2007/08/13(月) 08:30:05
>>947
ECMAScriptのオブジェクトのどこがAlgebraic Data Typeなんだ?
代数データ型に実行時にコンストラクタを追加したりできんよ?
949デフォルトの名無しさん:2007/08/13(月) 13:07:33
ECMAScriptって実行時にコンストラクタを追加できたっけ?
コンストラクタ関数の参照なら持てるけどReadOnlyじゃなかったか?

コンストラクタとしては定義時に決定してるだろ。
Functionオブジェクトの事?
950デフォルトの名無しさん:2007/08/13(月) 17:22:59
コンストラクタ関数の追加は出来ないけど再定義はできるので
http://getahead.org/blog/joe/2007/03/05/json_is_not_as_safe_as_people_think_it_is.html
こーゆー問題が出てくる。

ES4 の type なら代数的データ型でいいと思うけど、
ES3 の Object だと HashMap だわな。
951デフォルトの名無しさん:2007/08/13(月) 18:41:46
代数データ型のコンストラクタとESのコンストラクタは別物だろ。
むしろファンクタ(ry
952デフォルトの名無しさん:2007/08/13(月) 19:13:08
953デフォルトの名無しさん:2007/08/13(月) 20:41:06
>>952
しかしそれは仕様のバグのような気がする。
たとえば13.2.2のステップ4では"original Object prototype object"とあり、
Objectを書き換えても常に同一のオブジェクトを用いることになっている。
同様に11.1.4および類似の部分でも"original"なコンストラクタを
用いることと明記すべきだったと思う。
954デフォルトの名無しさん:2007/08/13(月) 20:58:55
javascriptで仕様ミスの話といえば、複文(入れ子関数)を使った際のCallオブジェクトの参照問題だろ。

語ろうぜ!
955デフォルトの名無しさん:2007/08/13(月) 21:08:07
そろそろ次スレのことも考えようか
956デフォルトの名無しさん:2007/08/13(月) 21:15:22
>>954
1. 複文といったら普通は(C系の言語なら{}で囲まれた)ブロックをあらわすと思うんだが。
2. もうちょっと具体的に。仕様のどのへんが問題だと思うの?
957デフォルトの名無しさん:2007/08/13(月) 22:19:05
複文ねえ、、、operational semanticsな人達は
「複文と言えば、;で結合された逐次実行文だろ」
と思うだろうな。

まあそんな枝葉末節は置いといて、俺もCallの仕様のどこがおかしいか知りたい。
958デフォルトの名無しさん:2007/08/13(月) 22:22:10
違うかもしれんが、ECMA-262 3rd では関数定義をトップレベルか関数直下にしか
置けない、文の中には置けないって話か?
http://nanto.asablo.jp/blog/2005/12/10/172622

ES4-discuss 見ると、ES4 では IE(JScript) 方式が正しいことになったみたい。
あ、関数式の変数登録は別ね。
959デフォルトの名無しさん:2007/08/14(火) 06:32:41
良い文書を見つけられなかったのでサイ本5版でも読んでくれ。良いタイミングで新版出たから。

Activationオブジェクトとスコープチェーンとコンテキストチェーンの話してるあたりに載ってたはず。

JScriptのホストオブジェクトの循環参照が切れないのとは違う問題だぞ。
960デフォルトの名無しさん:2007/08/14(火) 18:21:23
>>959
だからさ、なんで君がこういう問題だとズバリ解説できないの?
961デフォルトの名無しさん:2007/08/14(火) 18:25:32
そんな突っ込みより情報があるからましじゃまいか
962デフォルトの名無しさん:2007/08/14(火) 19:20:44
俺には同じぐらい無意味なレスにしか読めんが。
963デフォルトの名無しさん:2007/08/14(火) 19:29:03
最近仕様分かってない奴が叩きたがってるだけに見える。
964デフォルトの名無しさん:2007/08/14(火) 19:34:50
よくある「俺仕様と矛盾している」って奴ね。
965デフォルトの名無しさん:2007/08/14(火) 22:14:01
サイ本5版読んだ人、サンプルコードお願い。
966デフォルトの名無しさん:2007/08/16(木) 07:27:52
Callの仕様のミス、まだ〜チンチン
967デフォルトの名無しさん:2007/08/16(木) 21:50:17
5版はまだ読んでないがサイ本3版にこんな例があった。

var x = "global";
function f() {
var x = "local";
function g() { return x; }
}
alert(f.g()); // undefined
f();
alert(f.g()); // local

gのスコープチェーンはgのCallオブジェクト、fのCallオブジェクト、
グローバルオブジェクトとなるため、fが呼び出されていなくても
fのCallオブジェクトが参照されてしまう、とか書いてあった。

ただし、JavaScript 1.5(Firefox 1.0.8で確認)では2度目のf.g()も
undefinedを返したし、ttps://bugzilla.mozilla.org/show_bug.cgi?id=293782
の修正によって、少なくともJavaScript 1.6以降ではf内で定義された
関数をfのプロパティとして参照できなくなった("g" in f == false)から、
そんな古い問題が5版にもなってまだ取り上げられているのかは知らない。

それにこの問題はJavaScript固有の問題であって、ECMAScript 3に
従うなら現在のJavaScriptと同様、f.gがundefinedになるはずだし。
968デフォルトの名無しさん:2007/08/24(金) 05:38:17
あれだけ盛り上がっていたのが突然clearIntervalされたような静けさ・・・
969デフォルトの名無しさん:2007/08/24(金) 07:47:58
var g = (function(){
  for (let i = 1; i < 1001; i++) yield i;
})();
var id = setInterval(function(){
try {
  var i = g.next();
} catch(e) {
  clearInterval(id);
  // <- イマココ, i = 969
}}, 1000);
970デフォルトの名無しさん:2007/09/01(土) 06:31:36
マヤ「スレ、完全に沈黙しました」
リツコ「なかなか伸びないものね・・・」
ミサト「GC班、スレッド回収を急いで、早く!」
971デフォルトの名無しさん:2007/09/01(土) 10:14:02
お前らネタ投下。
Mysaifu JVMでRhino_R6を普通にビルドしたら動いた。LiveConnectも動いてるっぽい。

WM搭載機からスクリプトしまくりだぜw

Mysaifu JVM
ttp://www2s.biglobe.ne.jp/~dat/java/project/jvm/index.html
972デフォルトの名無しさん:2007/09/01(土) 16:15:14
>>971
マジか?
試してみるかな…
973デフォルトの名無しさん:2007/09/01(土) 16:48:15
>>971-972 作者の自演臭い。
でもナイスなプロダクト乙!
974デフォルトの名無しさん:2007/09/02(日) 04:30:35
今でもJavaVMをスクラッチする人がいるという
事実に感動。
975デフォルトの名無しさん:2007/09/02(日) 06:13:55
スクラッチから書ける人間の絶対数は普通に増えている。
スクラッチから書けない、書く気も無い人間との比で減ったように感じるだけだな。
976デフォルトの名無しさん:2007/09/02(日) 17:53:39
書けると書くには天地の開きがある。
最近どんなJavaVMが新登場したよ?
昔(2001年くらいまで)はなんかむやみにたくさんあったぞ。
Wabaみたいなパチモンもあった。
今はJITのハードルが高すぎるとか、サーバサイド一辺倒になったとかで、
誰も書かなくなった。
977デフォルトの名無しさん:2007/09/02(日) 20:57:25
>>976
ちょっと前までは書く能力のある人が必要に応じて書いていたけど、
もう今はそれも一巡しちゃったんじゃないの?
978デフォルトの名無しさん:2007/09/03(月) 23:42:15
いまは公式のOpenJDKもPhoneMEもあるからな。
PhoneME Advanceならプロファイル揃えればHotSpot VMでSE1.4のフルセットが使えるしなぁ。

たぶんRhinoもCDC用のブートストラップクラスと必要なプロファイルをクラスパス通してビルドすればJavaME/CDCで普通に動くと思うよ。
wm版バイナリ出てるがそのままじゃJAMが使えないけど。
979デフォルトの名無しさん:2007/09/17(月) 16:07:54
なんでプログラマって「スクラッチから」とか言うの。
英語のテストなら確実に0点にされるぞ。
980デフォルトの名無しさん:2007/09/17(月) 16:13:00
# from scratch
〔作業{さぎょう}などが〕最初{さいしょ}から、ゼロから、一から
◆【参考】scratch
◆【同】do something from beginning
・Louise made her wedding cake from scratch. : ルイーズはウエディングケーキをすべて自分で作った。
・She made this cake from scratch. : 彼女はこのケーキを一から(ミックスを使わずに)作りました。
981デフォルトの名無しさん:2007/09/17(月) 16:14:15
from scratch をそのまま訳してるだけでしょ。
その英語のテストを採点してる教師は首にした方が良いぞ。

Results 1 - 50 of about 22,900,000 for from-scratch [definition]. (0.17 seconds)
982デフォルトの名無しさん:2007/09/17(月) 17:11:35
多分プラモデルのフルスクラッチから来ている
983デフォルトの名無しさん:2007/09/17(月) 17:44:42
違いますよ
984デフォルトの名無しさん:2007/09/17(月) 19:13:55
モデラー用語のスクラッチがfrom scratchから来てるわけだが・・・
985デフォルトの名無しさん:2007/09/17(月) 20:37:18
>>984
で、scratchは何から?
986デフォルトの名無しさん:2007/09/17(月) 20:58:10
scratch=引っかき傷
土の地面に木の棒で作った引っかき傷(scratch)=スタートライン
987デフォルトの名無しさん:2007/09/17(月) 23:28:42
>>985はscratchの意味すら分からない、と・・・
988デフォルトの名無しさん:2007/09/17(月) 23:32:48
>>39の予言が大当たりし、>>827が外れそうな感じで、
そろそろ次スレを建ててもいい時期だと思うんだが、
テンプレに追加すべきこととかある?

個人的には1に
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/
を追加してもいいと思うんだけど。
989デフォルトの名無しさん:2007/09/18(火) 01:55:07
>>981
慣用句なんだから、カタカナにしたら訳せませんって言ってるのと同じじゃんよ。
一般人には絶対通じねーし。
990デフォルトの名無しさん:2007/09/18(火) 02:10:54
「スクラッチから」で通じるんだからどうでもいいんちゃうん。俺の場合、
「最初から」や「作り直し」って言うと、
例えば進行中のプロジェクトの最初とかと意味が混同するから
「スクラッチから」って言うのは混乱を避ける意味でも使うのは正しいと思うんだが。
つーかスレ違いだろ。
991デフォルトの名無しさん:2007/09/18(火) 03:12:44
>>989
>一般人には絶対通じねーし。

× 一般人
○ 馬鹿

致し方ない所ではある。
992デフォルトの名無しさん:2007/09/18(火) 03:37:32
>>988
それと "3. - 主な実装 -" に Tamarin も追加して下さい。

Tamarin(Adobe から Mozilla.org に寄贈された JIT 付きの仮想マシン)
http://wiki.mozilla.org/Tamarin
993デフォルトの名無しさん:2007/09/18(火) 16:34:06
>>990
よくわからないな。「ゼロから」とか「一から」とか辞書通りに訳して混乱するケースなんかあるか?
>>991
これだからプログラマという人種は。
「ワーニング」といい、たいした根拠もなくおかしな言葉使ってるほうがバカだろ。常識で考えて・・・
994デフォルトの名無しさん:2007/09/18(火) 17:30:10
ワーニングって何?
995デフォルトの名無しさん:2007/09/18(火) 19:49:21
>>989
> 慣用句なんだから、カタカナにしたら訳せませんって言ってるのと同じじゃんよ。
> 一般人には絶対通じねーし。

応用力0のカスは、バカといわれてもしょうがない。
これではインド英語とか聞かせられないな。
996デフォルトの名無しさん
>>993
>これだからプログラマという人種は。

何かプログラマにコンプレックスでもあるのかな?
君を助けるのは俺らには難しそうだし、専門家に
相談した方が良いんじゃないかな。

類推が利かなくなっているというのは何かの兆候
なのかもしれないよ。"from scratch" 以外にも
同じ様な症状があるかどうか、自己診断してみる
のも良いかもしれないね。