ewasm / design

Ewasm Design Overview and Specification
Apache License 2.0
1.02k stars 125 forks source link

add FAQ #4

Closed wanderer closed 8 years ago

wanderer commented 8 years ago

It would be good to have an FAQ, with topics like

wanderer commented 8 years ago

from skype

  1. Is WASM primarily the replacement for EVM?
  2. What are the benefits, especially when WASM doesn't seem to be done according to their github.
  3. Will Solidity/Serpent be compatible with e-WASM, or will another HLL have to be created?
  4. ) yep that would be the endgame for the experement 2.) there are two major benefits; 1, compression on the wire utilizing ast deduplication, 2 speed

WASM doesn't seem to be done according to their github.

It is not done, and is still changing that said the core Instuction set is pretty well nailed down at this point. THings that are changing are things like the binary format and the web api

3) Serpent is should be easy(ier) to get to work on WASM since it can produce s-expression IR. Solidity looks to be a bit harder. That said if we have a transpiler they will work as it stands now, but with gas penalties

or will another HLL have to be created?

Nope you can use c/c++/rust/go directly

Souptacular commented 8 years ago

Skype:

How does e-WASM handle nom-determinism when a variety of programming languages are allowed to be used?

part of the project goal is to eliminate nasal-demons. It's in the MVP. there are still a couple of edge case, they are defined on purpose for prefomance reasons.but we can define them how we like and still use canical WASM vms, but doing AST transforms.here is a list of non-determinisic things to eliminate.things like Fixed-width SIMD and threads and has_feature dont affect us. the only one we have to worry about is the NaN sign value.opps

here is the list https://github.com/WebAssembly/design/blob/master/Nondeterminism.md

wanderer commented 8 years ago

added!