-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Separate core semantics and text format #93
Comments
I am also thinking about doing file splittings because the wasm.md file is getting too long. It is a good idea to split code by its purpose. We may do this after all the current features get merged. |
I think it's no rush, really, but it also doesn't have to wait: it should be straightforward in most cases to grab the desugaring rules and move them, and merge conflicts should be simple, since the rules for desugaring are disjoint from the rest (or should be). We could perhaps put the new module in the same file,we don't actually need a separate file. Perhaps that's the easiest to her an overview of, especially if we want to point people to a single file for getting to see most of our semantics. |
wasm.md
Next step is drafted in #183 |
To avoid hacks like |
It's becoming a bit inconvenient to have all these folded instructions, aliases and syntactic sugars in the main semantics module,
wasm.md
. I suggest we move all rules that are just intermediate rewrites, such as instruction unfolding, into a module namednormalizations.md
. That way,wasm.md
becomes a close mirror of the "Execution" part of the spec, dealing with the AST and state updates, andnormalizations.md
deals with the whole world of valid.wast
concrete syntax by only rewriting top-level terms in the<k>
cell.Instead of having all these rules in the core syntax, we can keep them in a separate module. This both makes the core semantics smaller, more like the official spec, and a smaller compile target for the binary format.
Update: Here's the suggested tasks
data.md
and into text module.The text was updated successfully, but these errors were encountered: