Autoriser les expressions S séparées par des virgules dans le format texte pour permettre à la syntaxe WAT d'être une syntaxe de sous-ensemble JavaScript valide au moment de l'analyse, comme JSON l'est pour JavaScript.
Cela vous permettrait d'écrire l'exemple suivant :
(func $swap (param i32 i32) (result i32 i32) (get_local 1) (get_local 0))
Comme suit:
(func, $swap, (param, i32, i32), (result, i32, i32), (get_local, 1) (get_local, 0))
Une application de ceci est de pouvoir écrire une syntaxe WAT valide dans des fonctions JavaScript
function add (a, b) {
(i32.const, a)
(i32.const, b)
(i32.const, add)
}
Que vous pouvez add.toString()
pour extraire du code source WAT valide, ce qui peut faciliter l'entrelacement du code source WAT dans JavaScript sans avoir besoin de littéraux de modèle lors du prototypage.
Les expressions S me font penser à Lisp et à cause de cela, je m'attendrais '
ce que ,
signifie non guillemet.
C'est une idée intéressante, mais je ne suis pas sûr que nous voudrons modifier le format du texte pour le prendre en charge.
Je ne suis vraiment pas sûr que nous voulions avoir WAST compatible JS. Principalement parce que du point de vue d'un analyseur, il serait vraiment difficile de dire si vous écrivez WAST ou JS.
Je préfère utiliser les modèles littéraux de JS :
function add (a, b) {
wast`
(i32.const, a)
(i32.const, b)
(i32.const, add)
`
}
Vous pouvez très facilement créer un WAT DSL dans CoffeeScript. Juste pour offrir une autre option.
Commentaire le plus utile
Je ne suis vraiment pas sûr que nous voulions avoir WAST compatible JS. Principalement parce que du point de vue d'un analyseur, il serait vraiment difficile de dire si vous écrivez WAST ou JS.
Je préfère utiliser les modèles littéraux de JS :