uzmoi

Results 24 comments of uzmoi

どちらでもいつ再開するかを指定していて同じ意味だと思っています。 数値での指定は`() => new Promise(resolve => setTimeout(resolve, irqSleep))`のエイリアスなので。

無限ループするコードを実行したときにホスト側がハングしてしまうことへの対策だと思います。

テストの中で`try { ... } catch {}`してエラーが出なければassert.failとかしてるのでこういうのも`expect(() => { ... }).toThrow()`とかにしたいですね

不自然というほどではないと思いますが、一緒だと混乱するので区別したいです。 区別するときは実引数はargument、仮引数はparameterとなります。 現在のfnの呼び出しの実装ではargdefという変数名が使われていますが、これよりはparamの方がわかりやすいと思います。 参考までにESTreeのFunctionsの定義→https://github.com/estree/estree/blob/master/es5.md#functions

VUserFn型のnameで関数名を持つようにしてそれを使用するようにしました。 関数名とその関数内で関数呼び出しした位置をあわせて表示するようにしました。 nativeな関数の呼び出しも見えるようになりました(今のところ全て``と表示されます) 今のところ名前空間の情報は消えるんですがあったほうがいいですかね?

> 「エラーが発生した処理の行番号」と「その処理が含まれる関数名」を各行に出す方が一般的なように思います。 一旦これ実装してみたんですが、エラーが発生した関数名が消えるんですよね。 例として使ったのが参照のエラーだったので、今実装されてないながらスコープ名があるので実装すればいいですけど、`Arr:create(-1)`とかにしてみると一見``関数内で起きているように見えます。 エラーの位置も一行目じゃなくてコールスタックに移せば解決はしそう? ``` Runtime: Arr:create expected non-negative number, got negative (Line 1, Column 26) at (Line 4, Column 14) at at function2 (Line 3, Column 10) at...

エラーが発生した関数名が消える問題があったので、一行目から位置情報を消してコールスタックに追加しました。

名前空間対応しました。

> このPRの主旨からは外れますが、 関数が名前を保持するようになるので`Scope`の`name`に渡してあげるとメッセージがより分かりやすくなるかもしれません。 現状のコードだとfn以外の構文のcreateChildScopeでスコープ名が引き継がれないようなので余計に混乱するかなと思います。 別PRで直しますかね?

> Cloudflare Pagesのことはよく知らないのですが、Github Pagesと比べてどちらが良いとかあります? SSRが出来るのとレイテンシが小さいぐらいだと思うので、ドキュメント置くだけなら変わらないと思います。 個人的には aiscript-dev/aiscript-dev.github.io リポジトリを作ってそこで管理するのが一番シンプルで良いかなと思いました。