- From: Alon Zakai <azakai@mozilla.com>
- Date: Sun, 29 Nov 2015 14:09:15 -0800
- To: JS Stats <info@jsstats.com>
- Cc: public-webassembly@w3.org
- Message-ID: <CAB7fRxuXDy18A-yKjCwAfvqpqPXd_1dUtbTXSDD7zayU9J+Txw@mail.gmail.com>
Note that this was also posted as a github issue, https://github.com/WebAssembly/design/issues/483 and there is a lengthy discussion there, for those that are interested. On Wed, Nov 25, 2015 at 11:25 PM, JS Stats <info@jsstats.com> wrote: > I would like to make the case to the members to consider changing the > focus of this group from the development of a binary code to a source > code with a binary encoding. The difference might not sound significant > at first but it might make a significant difference to the intent of > code deployed to the web in binary format. > > In the current case source code is 'compiled' or 'assembled' into the > binary format and deployed in binary format. With this focus the > developers might be tempted to abandon any claim to the binary encoding > being related to the source, and for example move to a linear virtual > machine code without expressions or structured flow control etc. > > While it might be possible to 'view-source' the deployed code it might > be consider 'disassembly' or 'reverse engineering' which are very loaded > terms for IP. > > I believe that although the operators being developed are primitive and > close to the hardware, that these can still be used in a structured > source code with expressions and local variables etc to make the code > more readable and easier to write. A binary encoding would still be > developed that would be a one-to-one reversible encoding of the source > (basically a lossless compression of the source). I believe this could > still be a good target for the use case of a compilation target which > seems to be the current focus. > > I have been working away at trying to use type derivation to help > eliminate bounds checking, and there has been another recent proposal by > sunfish to use some loop analysis to help eliminate bounds checks too, > and while I don't have anything concrete I suspect this will be much > easier to define in structured code. For example, a common case is to > define a local constant variable with a typed that can be derived such > as masking a value or asserting its bounds. > > The new name would remove 'Assembly' and make it clear this is a source > code although primitive. For example WebCore if it is not taken. The > Specification language would change it's emphasis to being a source > code, while still supporting the use case of being a compilation target. > > Would there be any support for such a re-focusing of the group, or are > the majority of people wanting a web machine code binary format to > compile to? > > Regards > Douglas Crosher > > >
Received on Sunday, 29 November 2015 22:09:49 UTC