Assemblyscript: How does AssemblyScript compares to Walt?

Created on 25 Apr 2018  路  3Comments  路  Source: AssemblyScript/assemblyscript

Hello! And thank you for this great project. I'm asking you about https://github.com/ballercat/walt

Don't sure which one should I take, could you please explain the core difference?

question

Most helpful comment

Hello @emil14,
walt it seems just high level syntax sugar over wat which has main goal translate to wasm as close as possible if I right understood owner: https://github.com/ballercat/walt/issues/11

Main differences:
1) AssemblyScript born earlier. Just see first prototype.
2) AS support wide range of 'small' integers - i8, u8, i16, u16 and i32/u32, i64/u64 of course. walt can manage just i32 and i64, without unsigned types.
3) AS is a typescript superset and easily transpiled to javascript via tsc. walt has syntax similar to flow but it seems not fully compatible and I'm not sure has possibility translation to pure js.
4) AS has runtime: Array, ArrayBuffer, typed arrays, String, Map/Set, Symbol, native Math, operator instanceof and etc. walt has very basic stuffs for strings and arrays.
5) AS support Generics.
6) AS has memory management. Actually three types for heap allocations: arena, tlsf and buddy. Also there is working on Garbage Collector. walt hasn't provide any memory management.
7) AS have got many examples and benchmark. Also one huge and successful project called wasmBoy.
8) AS supported by several playgrounds: WebAssembly Studio and Assembleash.
9) AS seamlessly build over binaryen which provide fast code generation and very smart optimization with many passes from author of emscripten. walt hasn't provide accurate build-in optimizations even dead code elimination.

All 3 comments

Hello @emil14,
walt it seems just high level syntax sugar over wat which has main goal translate to wasm as close as possible if I right understood owner: https://github.com/ballercat/walt/issues/11

Main differences:
1) AssemblyScript born earlier. Just see first prototype.
2) AS support wide range of 'small' integers - i8, u8, i16, u16 and i32/u32, i64/u64 of course. walt can manage just i32 and i64, without unsigned types.
3) AS is a typescript superset and easily transpiled to javascript via tsc. walt has syntax similar to flow but it seems not fully compatible and I'm not sure has possibility translation to pure js.
4) AS has runtime: Array, ArrayBuffer, typed arrays, String, Map/Set, Symbol, native Math, operator instanceof and etc. walt has very basic stuffs for strings and arrays.
5) AS support Generics.
6) AS has memory management. Actually three types for heap allocations: arena, tlsf and buddy. Also there is working on Garbage Collector. walt hasn't provide any memory management.
7) AS have got many examples and benchmark. Also one huge and successful project called wasmBoy.
8) AS supported by several playgrounds: WebAssembly Studio and Assembleash.
9) AS seamlessly build over binaryen which provide fast code generation and very smart optimization with many passes from author of emscripten. walt hasn't provide accurate build-in optimizations even dead code elimination.

Oh hey, thanks for mentioning wasmBoy @MaxGraey 馃槃

Thank you. It seems like the AssemblyScript is better for building complex applications

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Iainmon picture Iainmon  路  3Comments

jarble picture jarble  路  3Comments

andy-hanson picture andy-hanson  路  4Comments

torch2424 picture torch2424  路  3Comments

evgenykuzyakov picture evgenykuzyakov  路  3Comments