FINEARCHS
FINEARCHS
LLVM、あまり詳しくないですがランタイム実行に耐える程度にコンパイル速いんですかね? そうであればそちらも試してみるのもいいと思います。
技術者層がTypeScript使用者とあまり被らないと思うのでメンテナンスが大変そうですが…
> 既存の技術使う方が wasmにコンパイルする動きはあったらしいですね。何故頓挫したのかは分かりませんが
エラーを関数の返り値として表現している点ではEitherと似ていると思います。 ですが今回のエラー型は演算の対象となった瞬間にAiscript エラーで処理を停止させるため、Eitherのように成功とエラーを同列に扱うようなことはできません。
@syuilo 同じ概念を持つ言語に心当たりはありません。 単に #282 で言う「null以外の何かを返す」ためのものとしての発想です。
型エラーだと原因が分かりにくいので…
> Core:typeだけ特別でそれ以外は専用メッセージを出す? ~~その通りです。~~ 専用メッセージというか、これまでに出していたエラーと同じメッセージ(index out of rangeやNo such variableなど)を出します。
> 強制終了が遅延されるのはかえって分かりにくい それはその通りです ただ`Core:type`での分岐を出来るようにするためにはそうせざるを得ないので… 基本的には計算した値はすぐ何かに使うと思うので、問題は軽いと思っています
>「null以外の何かを返す」が目的ならエラーチェックしないのはnull参照と同じで自己責任だと思う ごめんなさい、これよく分かってないです。解説希望です
>Json:parseで失敗した返値がError(e)だったとしてこれを特別に扱う必要は無いと思う 次回参照された時にエラーメッセージを出す機能の話でしたら、まあ無くてもいいかもしれませんがあったほうが便利かなと思っています。