PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

WebAssembly

WebAssembly

WebAssembly is a bytecode created in 2015 by Ben Smith.

#103on PLDB 7Years Old 8.3kUsers
13Books 25Papers 2kRepos

Try now: TIO

WebAssembly (Wasm, WA) is a web standard that defines a binary format and a corresponding assembly-like text format for executable code in Web pages. It is meant to enable executing code nearly as fast as running native machine code. It was envisioned to complement JavaScript to speed up performance-critical parts of web applications and later on to enable web development in languages other than JavaScript. Read more on Wikipedia...


Example from the web:
20 00 50 04 7E 42 01 05 20 00 20 00 42 01 7D 10 00 7E 0B
Example from hello-world:
(module (import "wasi_unstable" "fd_write" (func $fd_write (param i32 i32 i32 i32) (result i32)) ) (memory 1) (export "memory" (memory 0)) (data (i32.const 0) "\08\00\00\00\0c\00\00\00Hello World\n") (func $main (export "_start") i32.const 1 i32.const 0 i32.const 1 i32.const 20 call $fd_write drop ) )
Example from Linguist:
(module (import "env" "printInt" (func $printInt (param i32))) (func $add (param $lhs i32) (param $rhs i32) (result i32) get_local $lhs get_local $rhs i32.add ) (func $main (call $printInt (call $add (i32.const 9) (i32.const 8)))) (export "main" (func $main)) )
Example from Wikipedia:
(module (import "math" "exp" (func $exp (param f64) (result f64))) (func (export "doubleExp") (param $0 f64) (result f64) (f64.mul (call $exp (get_local $0)) (f64.const 2))))

Language features

Feature Supported Example Token
Comments
MultiLine Comments
Line Comments
Integers
Floats
Hexadecimals

Books about WebAssembly from ISBNdb

title authors year publisher
Programming WebAssembly with Rust: Unified Development for Web, Mobile, and Embedded Applications Hoffman, Kevin 2019 Pragmatic Bookshelf
Hands-On Game Development with WebAssembly: Learn WebAssembly C++ programming by building a retro space game Battagline, Rick 2019 Packt Publishing
Hands-On JavaScript High Performance: Build faster web apps using Node.js, Svelte.js, and WebAssembly Scherer, Justin 2020 Packt Publishing
WebAssembly in Action: With examples using C++ and Emscripten Gallant, Gerard 2019 Manning
Hands-On Game Development with WebAssembly: Learn WebAssembly C++ programming by building a retro space game Battagline, Rick 2019-05-31T00:00:01Z Packt Publishing
WebAssembly for Cloud: A Basic Guide for Wasm-Based Cloud Apps Jain, Shashank Mohan 2021 Apress
Practical WebAssembly-Explore the fundamentals of WebAssembly programming using Rust Sendil Kumar Nellaiyapen 2022 Packt Publishing - ebooks Account
WebAssembly for Cloud Shashank Mohan Jain 20211113 Springer Nature
Practical WebAssembly Sendil Kumar Nellaiyapen 20220502 Packt Publishing
The Art of WebAssembly Rick Battagline 20210601 Random House Publishing Services
Blazor WebAssembly by Example Toi B. Wright; Scott Hanselman 44386 Packt Publishing
Game Development with Rust and WebAssembly Eric Smith 29-04-2022 Packt Publishing
Creative DIY Microcontroller Projects with TinyGo and WebAssembly Tobias Theel 14-05-2021 Packt Publishing

Publications about WebAssembly from Semantic Scholar

title authors year citations influentialCitations
Bringing the web up to speed with WebAssembly Andreas Haas and Andreas Rossberg and Derek L. Schuff and Ben L. Titzer and Michael Holman and D. Gohman and Luke Wagner and Alon Zakai and J. Bastien 2017 307 64
Mechanising and verifying the WebAssembly specification C. Watt 2018 45 2
Wasabi: A Framework for Dynamically Analyzing WebAssembly Daniel Lehmann and Michael Pradel 2018 27 1
Weakening WebAssembly C. Watt and Andreas Rossberg and Jean Pichon-Pharabod 2019 18 3
An Empirical Study of Real-World WebAssembly Binaries: Security, Languages, Use Cases Aaron Hilbig and Daniel Lehmann and Michael Pradel 2021 17 3
Formally Verified Cryptographic Web Applications in WebAssembly Jonathan Protzenko and Benjamin Beurdouche and Denis Merigoux and K. Bhargavan 2019 17 2
WARDuino: a dynamic WebAssembly virtual machine for programming microcontrollers Robbert Gurdeep Singh and Christophe Scholliers 2019 16 2
Accelerate JavaScript applications by cross-compiling to WebAssembly M. Reiser and Luc Bläser 2017 15 1
Virtual Machine Execution for Wearables Based on WebAssembly M. Jacobsson and Jonas Willén 2018 11 1
FAUST Domain Specific Audio DSP Language Compiled to WebAssembly S. Letz and Y. Orlarey and D. Fober 2018 8 0
Compositional Information Flow Analysis for WebAssembly Programs Quentin Stiévenart and Coen De Roover 2020 7 0
Bringing the web up to speed with WebAssembly Andreas Rossberg and Ben L. Titzer and Andreas Haas and Derek L. Schuff and D. Gohman and Luke Wagner and Alon Zakai and J. Bastien and Michael Holman 2018 7 0
Sparse matrices on the web: characterizing the performance and optimal format selection of sparse matrix-vector multiplication in javascript and webassembly Prabhjot Sandhu and D. Herrera and L. Hendren 2018 6 0
Wasmachine: Bring the Edge up to Speed with A WebAssembly OS Elliott Wen and Gerald Weber 2020 3 0
Understanding the performance of webassembly applications Yutian Yan and Tengfei Tu and Lijian Zhao and Yuchen Zhou and Weihang Wang 2021 3 0
SELWasm: A Code Protection Mechanism for WebAssembly Jian Sun and Dingyuan Cao and Ximing Liu and Ziyi Zhao and Wenwen Wang and Xiaoli Gong and Jin Zhang 2019 3 0
WASim: Understanding WebAssembly Applications through Classification Alan Romano and Weihang Wang 2020 3 0
TruffleWasm: a WebAssembly interpreter on GraalVM Salim S. Salim and A. Nisbet and M. Luján 2020 3 1
An Empirical Study of Bugs in WebAssembly Compilers Alan Romano and Xinyue Liu and Yonghwi Kwon and Weihang Wang 2021 3 0
Wobfuscator: Obfuscating JavaScript Malware via Opportunistic Translation to WebAssembly Alan Romano and Daniel Lehmann and Michael Pradel and Weihang Wang 2022 2 0
Superoptimization of WebAssembly bytecode Javier Cabrera-Arteaga and Shrinish Donde and Jian Gu and Orestis Floros and Lucas Satabin and B. Baudry and Monperrus Martin 2020 2 0
Analysis of WebAssembly as a Strategy to Improve JavaScript Performance on IoT Environments F. Oliveira and J. Mattos 2020 2 0
Towards a WebAssembly standalone runtime on GraalVM Salim S. Salim and A. Nisbet and M. Luján 2019 1 0
Static Stack-Preserving Intra-Procedural Slicing of WebAssembly Binaries Quentin Stiévenart and D. Binkley and Coen De Roover 2022 1 0
Bringing WebAssembly up to speed with dynamic linking Niko Mäkitalo and Victor Bankowski and Paulius Daubaris and R. Mikkola and Oleg Beletski and T. Mikkonen 2021 1 0
haxe.html · wasm.html · asp.html

View source

PLDB - Build the next great programming language · v2022 · Day 31 · Docs · Build · Acknowledgements · Traffic Today · Traffic Trends · Mirrors · GitHub · feedback@pldb.com