>>931 >>944 あれは代数的データ型と言ってだなry
ES4の型なんてまさに代数的データ型だろ。
さらにメタプログラミングでカオスってるが。
関数型言語知ってりゃ結構普通の概念なんだが。
>>947 ECMAScriptのオブジェクトのどこがAlgebraic Data Typeなんだ?
代数データ型に実行時にコンストラクタを追加したりできんよ?
ECMAScriptって実行時にコンストラクタを追加できたっけ?
コンストラクタ関数の参照なら持てるけどReadOnlyじゃなかったか?
コンストラクタとしては定義時に決定してるだろ。
Functionオブジェクトの事?
代数データ型のコンストラクタとESのコンストラクタは別物だろ。
むしろファンクタ(ry
>>952 しかしそれは仕様のバグのような気がする。
たとえば13.2.2のステップ4では"original Object prototype object"とあり、
Objectを書き換えても常に同一のオブジェクトを用いることになっている。
同様に11.1.4および類似の部分でも"original"なコンストラクタを
用いることと明記すべきだったと思う。
javascriptで仕様ミスの話といえば、複文(入れ子関数)を使った際のCallオブジェクトの参照問題だろ。
語ろうぜ!
そろそろ次スレのことも考えようか
>>954 1. 複文といったら普通は(C系の言語なら{}で囲まれた)ブロックをあらわすと思うんだが。
2. もうちょっと具体的に。仕様のどのへんが問題だと思うの?
複文ねえ、、、operational semanticsな人達は
「複文と言えば、;で結合された逐次実行文だろ」
と思うだろうな。
まあそんな枝葉末節は置いといて、俺もCallの仕様のどこがおかしいか知りたい。
良い文書を見つけられなかったのでサイ本5版でも読んでくれ。良いタイミングで新版出たから。
Activationオブジェクトとスコープチェーンとコンテキストチェーンの話してるあたりに載ってたはず。
JScriptのホストオブジェクトの循環参照が切れないのとは違う問題だぞ。
>>959 だからさ、なんで君がこういう問題だとズバリ解説できないの?
そんな突っ込みより情報があるからましじゃまいか
俺には同じぐらい無意味なレスにしか読めんが。
最近仕様分かってない奴が叩きたがってるだけに見える。
よくある「俺仕様と矛盾している」って奴ね。
サイ本5版読んだ人、サンプルコードお願い。
Callの仕様のミス、まだ〜チンチン
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になるはずだし。
あれだけ盛り上がっていたのが突然clearIntervalされたような静けさ・・・
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);
マヤ「スレ、完全に沈黙しました」
リツコ「なかなか伸びないものね・・・」
ミサト「GC班、スレッド回収を急いで、早く!」
971 :
デフォルトの名無しさん:2007/09/01(土) 10:14:02
今でもJavaVMをスクラッチする人がいるという
事実に感動。
スクラッチから書ける人間の絶対数は普通に増えている。
スクラッチから書けない、書く気も無い人間との比で減ったように感じるだけだな。
書けると書くには天地の開きがある。
最近どんなJavaVMが新登場したよ?
昔(2001年くらいまで)はなんかむやみにたくさんあったぞ。
Wabaみたいなパチモンもあった。
今はJITのハードルが高すぎるとか、サーバサイド一辺倒になったとかで、
誰も書かなくなった。
>>976 ちょっと前までは書く能力のある人が必要に応じて書いていたけど、
もう今はそれも一巡しちゃったんじゃないの?
いまは公式のOpenJDKもPhoneMEもあるからな。
PhoneME Advanceならプロファイル揃えればHotSpot VMでSE1.4のフルセットが使えるしなぁ。
たぶんRhinoもCDC用のブートストラップクラスと必要なプロファイルをクラスパス通してビルドすればJavaME/CDCで普通に動くと思うよ。
wm版バイナリ出てるがそのままじゃJAMが使えないけど。
なんでプログラマって「スクラッチから」とか言うの。
英語のテストなら確実に0点にされるぞ。
# from scratch
〔作業{さぎょう}などが〕最初{さいしょ}から、ゼロから、一から
◆【参考】scratch
◆【同】do something from beginning
・Louise made her wedding cake from scratch. : ルイーズはウエディングケーキをすべて自分で作った。
・She made this cake from scratch. : 彼女はこのケーキを一から(ミックスを使わずに)作りました。
from scratch をそのまま訳してるだけでしょ。
その英語のテストを採点してる教師は首にした方が良いぞ。
Results 1 - 50 of about 22,900,000 for from-scratch [definition]. (0.17 seconds)
多分プラモデルのフルスクラッチから来ている
違いますよ
モデラー用語のスクラッチがfrom scratchから来てるわけだが・・・
scratch=引っかき傷
土の地面に木の棒で作った引っかき傷(scratch)=スタートライン
>>985はscratchの意味すら分からない、と・・・
>>981 慣用句なんだから、カタカナにしたら訳せませんって言ってるのと同じじゃんよ。
一般人には絶対通じねーし。
「スクラッチから」で通じるんだからどうでもいいんちゃうん。俺の場合、
「最初から」や「作り直し」って言うと、
例えば進行中のプロジェクトの最初とかと意味が混同するから
「スクラッチから」って言うのは混乱を避ける意味でも使うのは正しいと思うんだが。
つーかスレ違いだろ。
>>989 >一般人には絶対通じねーし。
× 一般人
○ 馬鹿
致し方ない所ではある。
>>990 よくわからないな。「ゼロから」とか「一から」とか辞書通りに訳して混乱するケースなんかあるか?
>>991 これだからプログラマという人種は。
「ワーニング」といい、たいした根拠もなくおかしな言葉使ってるほうがバカだろ。常識で考えて・・・
ワーニングって何?
>>989 > 慣用句なんだから、カタカナにしたら訳せませんって言ってるのと同じじゃんよ。
> 一般人には絶対通じねーし。
応用力0のカスは、バカといわれてもしょうがない。
これではインド英語とか聞かせられないな。
>>993 >これだからプログラマという人種は。
何かプログラマにコンプレックスでもあるのかな?
君を助けるのは俺らには難しそうだし、専門家に
相談した方が良いんじゃないかな。
類推が利かなくなっているというのは何かの兆候
なのかもしれないよ。"from scratch" 以外にも
同じ様な症状があるかどうか、自己診断してみる
のも良いかもしれないね。