Twitter hashtag: #esspec
便利ツール
自己紹介 (近況報告)
syumai
Cloudflare Meetup行きました
GWはわりと図書館、カフェ、コワーキングスペースを渡り歩いてずっと作業してました
一回高尾山行ったので、そこは連休感あった
久々に200 starつきました
最近結構Contributeしてくれる方がいらっしゃるので、ライブラリ用のDiscord Serverを作ってみた
ワークしてる感ある
tars0x9752.icon sugoiyebis0942.icon
tars0x9752 (たーず / naoki aoyama) tars0x9752.icon
夏ばりに暑くなったかと思ったらまた寒くなってあれ
GW某イベントに参加した(プログラミングは関係ない)
ずっと作業してた
疲れたけど満足!
たのしそうyebis0942.icon
yebis0942yebis0942.icon
詳しい人にペアプロしていただきながらWeb3のフレームワークというのに入門していました
Next.js製でよくできている
機械学習経験者の方が参加されて盛り上がってきた
今はFine-tuningのところをやってます
既存のモデルにちょっと学習を足すやつ
Web3とAIということでバズワード感が高まってきた
harupiyo / Jun Yasumura
yebis0942.icon「なぜgive upは諦めるなのか」気になる
tars0x9752.icon 気になる
前回のあらすじ
Realmの導入
Realmそのものは大した機能を持っているわけではない
実行環境的なものをまとめて、環境を個別に隔離するための概念という雰囲気があったyebis0942.icon
Execution Context
スタックになっている
どういうタイミングでpush, popされるのか知りたい
今回の範囲
9.4 Execution Contexts の続きの "The LexicalEnvironment and VariableEnvironment components..." から
主要な登場人物?
Realm
Execution Context
Agent
Execution Contexts のおさらい
the running execution contextの値の別名
Realm componentの値 => the current Realm Record
Function componentの値 => the active function object
execution contextは関数の呼び出しごとに作られるのかも?
contextの分類
execution contexts
State Components for All Execution Contextsをすべて持つ
ECMAScript code execution contexts
さらにAdditional State Components for ECMAScript Code Execution Contextsを持つ
Generator Execution Contexts
さらにAdditional State Components for Generator Execution Contextsを持つ
(英語) any particular artefact of an ECMAScript implementation: 日本語に訳しづらいけど、「(処理系の中に実装された)もの」という感じの意味っぽい
GetActiveScriptOrModule()
Q. Script Record, Module Recordとは?
A. プログラムのコード全体を持っているもの
実行開始したときにScriptかModuleが決まる
execution context stackがnullになるのはどんなときなのか?yebis0942.icon
executionContextStack.find(c => c.ScriptOrModule !== null)?.ScriptOrModuleみたいな動きなのかyebis0942.icon
GetThisEnvironment()
Global Environment Recordでも同じメソッドを見た
Execution ContextのGetThisEnvironmentが、running execution contextのGetThisEnvironmentを呼ぶ、という関係になっている
仕様を記述するときにExecution Contextを意識しないといけないのはどんな場合?
Execution Contextsの節に6つのabs opがあるが、これらを呼ぶ時にはexecution contextを意識する必要がありそう
それはなぜなのか
Execution ContextとEnvironment Recordの関係
スタック vs 包含関係
execution contextはいつ作られるのか?
new execution contextとnew ECMAScript Code execution contextで検索してみた
後者はあんまりない
Lexical Environmentなどが登場するのはECMAScript Code execution contexだけ
contextをsuspendするなどのstepが明記されている
suspendしたあとにスタックに積む必要があるらしい
ちなみに
PrepareForOrdinaryCallの[[Call]]とBuilt-in Function Objectsの[[Call]]はどう違うのか…?
Jobs and Host Operations to Enqueue Jobs
initiates an ECMAScript computation when no other ECMAScript computation is currently in progress.
code:go
// start goroutine
go (func () {
veryHeavyCalculation()
})()
ある値がactive script or moduleであるとは
Script Record, Module Record or nullであって、かつ
GetActiveScriptOrModule()の返り値と等しく、かつ
(もしその値がScript RecordかModule Recordなら)execution context stackの一番上のexecution contextのRealmと同じRealmを持っていること
executionが"prepared to evaluate ECMAScript code"であるとは
execution context stackが空であって、かつ
execution context stackの一番上のexecution contextのRealmコンポーネントがRealm Recordであること
(というのはどんな場合?)
NOTE2
何を言いたいのかよく分からないかも…