aiscript icon indicating copy to clipboard operation
aiscript copied to clipboard

🔋 A lightweight scripting language runing on JavaScript

Results 180 aiscript issues
Sort by recently updated
recently updated
newest added

https://github.com/misskey-dev/misskey/pull/12102 でやった方法を使えば正しいシンタックスハイライトが手に入る

- type.tsを整理 - 使用されていなかった型の情報をVariableに付与 - Valueに付いていたattributeの情報をVariableに付け替え

# What interpreterのutilのvalToJsにタイプ`return`に対するものを追加することでreturnされたものがわかるようにする # Why PlaygroundやMisskeyのスクラッチパッドでreturnが使用されている場合にも最後に評価された値が知りたい 今は`return`が必ず表示される close #268 # Additional info (optional) simpleも一応書いたけどreturnということがはっきりわかるようにsimpleの時の出し分けは要らないかもしれない

AiScript専用のバイトコードを生成する レジスタマシンにする? Luaもこの方式らしい - インタプリタよりパフォーマンス良さそう - むつかしそう

Compile

https://github.com/syuilo/aiscript/issues/396#issuecomment-1756845571 >大雑把に考えると値の存在を期待しているかどうかで分けられると思います。 これについてもう少し詳しく考えたいです。

毎回`if Core:type(v)!='error' ...`と書かなければならないのは不便なので、より簡単な書き方を考えます。 今までの案 `catch(v) {...}` * 投げてないのにcatchはおかしい `if Core:is_ok(v) ...` * あまり書きやすさが変わっていない? 補足 `v ?? v2`(vがエラー型以外ならv、エラー型ならv2を返す)、`?.`(エラー型ならチェーンしない?)も欲しい

enhancement

## Summary 現状`v.tags == null || v.tags.reduce(...)`のように書いているコードを、`v.tags?.reduce(...) ?? false`みたいに書けるようになったらいいなと思いました。 ## Proposed Syntax ### Null-conditional operators (null条件メンバーアクセス演算子) ```aiscript object?.property // if (object == null) {null} else {object.property} ``` ```aiscript object?.function() //...

`\"`や`\'`はあるが`\\`が無いためにバックスラッシュが表現できないので`\\`を使えるようにしたい。 `\n`等の制御文字も使えると便利。

parser

新パーサーでも既存のテストは通るようになりました。 ただ、ここでは改行したい!という部分がまだまだ残ってる可能性はあります。 その辺を一通り見直していきたい。 ローカルでplaygroundを立ち上げれば(`npm run dev`)パーサーの動作は確認できるので、 改行したい箇所があれば教えて下さい。

parser

Aiscriptで定義された関数が引数不足で呼び出された時の想定がされていません。 実際にそのような状態になると未定義の動作を行います。例えば、現状だと ``` @func(a){a} func() ``` のようなコードを実行すると > TypeError: Cannot read properties of undefined (reading 'type') のエラーが出ます。

bug
interpreter