你好! 并感谢您的出色计划。 我问你关于https://github.com/ballercat/walt
不确定我该选哪一个,能否请您解释一下核心区别?
你好@ emil14 ,
沃尔特似乎只是wat
高级语法糖,如果我正确理解所有者,其主要目标是尽可能接近wasm: https :
主要区别:
1)较早诞生的AssemblyScript 。 只看第一个原型。
2)AS支持广泛的“小”整数-i8,u8,i16,u16和i32 / u32,i64 / u64。 walt
只能管理i32和i64,而没有unsigned类型。
3)AS是typescript
超集,可通过tsc
轻松转换为javascript
tsc
。 walt
具有类似于flow
语法,但似乎不完全兼容,我不确定是否有可能转换为纯js。
4)AS具有运行时: Array
, ArrayBuffer
,类型数组, String
, Map/Set
, Symbol
,本机Math
,运算符instanceof
等。 walt
具有非常基本的字符串和数组内容。
5)AS支持泛型。
6)AS具有内存管理。 实际上,堆分配的三种类型: arena
, tlsf
和buddy
。 也有关于垃圾收集器的工作。 walt
没有提供任何内存管理。
7)AS有很多示例和基准。 还有一个巨大而成功的项目,名为wasmBoy 。
8)由多个游乐场支持的AS: WebAssembly Studio和Assembleash 。
9)AS无缝地构建了超过binaryen
代码,这些代码可提供快速的代码生成和非常聪明的优化,并且有emscripten作者的多次通过。 walt
甚至无法消除死代码也无法提供准确的内置优化。
哦嘿,谢谢你提到wasmBoy @ MaxGraey😄
谢谢。 似乎AssemblyScript
对于构建复杂的应用程序更好
最有用的评论
你好@ emil14 ,
沃尔特似乎只是
wat
高级语法糖,如果我正确理解所有者,其主要目标是尽可能接近wasm: https :主要区别:
1)较早诞生的AssemblyScript 。 只看第一个原型。
2)AS支持广泛的“小”整数-i8,u8,i16,u16和i32 / u32,i64 / u64。
walt
只能管理i32和i64,而没有unsigned类型。3)AS是
typescript
超集,可通过tsc
轻松转换为javascript
tsc
。walt
具有类似于flow
语法,但似乎不完全兼容,我不确定是否有可能转换为纯js。4)AS具有运行时:
Array
,ArrayBuffer
,类型数组,String
,Map/Set
,Symbol
,本机Math
,运算符instanceof
等。walt
具有非常基本的字符串和数组内容。5)AS支持泛型。
6)AS具有内存管理。 实际上,堆分配的三种类型:
arena
,tlsf
和buddy
。 也有关于垃圾收集器的工作。walt
没有提供任何内存管理。7)AS有很多示例和基准。 还有一个巨大而成功的项目,名为wasmBoy 。
8)由多个游乐场支持的AS: WebAssembly Studio和Assembleash 。
9)AS无缝地构建了超过
binaryen
代码,这些代码可提供快速的代码生成和非常聪明的优化,并且有emscripten作者的多次通过。walt
甚至无法消除死代码也无法提供准确的内置优化。