We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Getting the hang of WASM

00:00

Formal Metadata

Title
Getting the hang of WASM
Title of Series
Number of Parts
43
Author
Contributors
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production PlaceErlangen, Germany

Content Metadata

Subject Area
Genre
Abstract
Web Assembly (WASM) is a new open standard developed by representatives from all major browsers. It is a low level binary format designed to be compact and run at native speed, while being memory-safe. WASM is primarily intended to run code in browsers, but will also run in other environments like desktop, mobile and more. This makes it interesting to use as an intermediate language (IR); code that compiles to WASM will (in the future) run basically anywhere. A proof of concept was released early this year and works out of the box in recent Firefox and Chrome browsers. In order to play with WASM myself, I wrote a tiny Python library that makes it relatively easy to generate WASM modules. In this talk I will briefly explain what WASM is, describe the anatomy of a WASM module, how it fits in the host environment (e.g. JavaScript or a C++ program), and the kinds of opportunities that this provides. Via live coding in a notebook, I will first write a simple WASM program by hand, compile it to binary WASM, and execute it in the notebook itself. We will then move to higher levels (including a Mindfuck to WASM compiler) and end with compiling a simple Python program to WASM, which will find the 10001st prime much faster than Python does. As a side effect, this talk is also a crash course on how compilers work. I expect WASM to have a major impact. Although it is currently in its early infancy, we can already play with it, and I hope to give a glimpse of the awesome things that it can do.
Moment (mathematics)Letterpress printingScripting languageWeb 2.0Latent heatCASE <Informatik>Functional (mathematics)Machine codeNumberLine (geometry)Web applicationIntegrated development environmentObject (grammar)Instance (computer science)Representation (politics)Endliche ModelltheorieType theoryModule (mathematics)Library (computing)Different (Kate Ryan album)Sheaf (mathematics)Assembly languageSimilarity (geometry)CodeGreatest elementString (computer science)Multiplication signWeb browserBinary fileCompact spaceElectronic signatureLevel (video gaming)Real numberSystem callForm (programming)AuthorizationStructural loadFile format2 (number)Default (computer science)Slide ruleComputer animationLecture/Conference
Integrated development environmentWeb browserPhysical systemFunction (mathematics)String (computer science)Module (mathematics)Electronic visual displayCompilerModule (mathematics)Web browserLetterpress printingString (computer science)Functional (mathematics)File systemInternet service providerRepresentation (politics)Line (geometry)Object modelIntegrated development environmentCompilerEndliche ModelltheorieCodeInstance (computer science)Assembly languageNumberComputer clusterPhysical systemWorkstation <Musikinstrument>Scripting languageMereologyInformationComputer animation
Function (mathematics)Graph coloringNumberComputer animation
String (computer science)Function (mathematics)BitEvent horizonFormal grammarWeb 2.0Functional (mathematics)Module (mathematics)Loop (music)Projective planeCodeIterationFile formatCASE <Informatik>NumberResultantLaptopMereologyInstance (computer science)Library (computing)Form (programming)Web browserLetterpress printingComputer animation
Standard deviationWhiteboardCompilerPointer (computer programming)Hydraulic jumpFunction (mathematics)outputWhiteboardFormal languageWritingCodeTransformation (genetics)Standard deviationPhysical lawMonster groupGoogolBitFunctional (mathematics)Computer animation
AbstractionHydraulic jumpBlock (periodic table)Function (mathematics)Radio-frequency identificationTouchscreenWordLetterpress printingModule (mathematics)Interpreter (computing)ImplementationSubsetCompilerScripting languageSemiconductor memoryNumberSheaf (mathematics)Multiplication signInstance (computer science)PiMereologyFunctional (mathematics)Web 2.0RepetitionCompilerWritingPoint (geometry)Computer virusVideo gameCalculationLetterpress printingFibonacci numberCodeComputer animation
AbstractionMachine codeAbstract syntax treeParsingNeuroinformatikRepresentation (politics)Instance (computer science)Form (programming)CodeMereologyEndliche ModelltheorieNetwork topologyAbstractionSubject indexingAbstract syntax treeModule (mathematics)Computer animation
Abstract syntax treeNumberCompilerParsingFunction (mathematics)Asynchronous Transfer ModeModule (mathematics)Prime idealControl flowMachine codeWeb browserCodeLaptopNetwork topologySlide ruleFitness functionStorage area networkParsingBitBuildingMultiplication signPrime numberFunctional (mathematics)Endliche ModelltheorieMereologyFile viewerPiLine (geometry)2 (number)Electric generatorComputer fontComputer animation
Web browserModule (mathematics)Machine codeNumber2 (number)Speech synthesisQuicksortSign (mathematics)Point (geometry)Computer animation
Module (mathematics)Compact spaceFile formatMereologyComputer animation
Compact spaceIntegrated development environmentInterpreter (computing)CodeControl flowFormal languageAbstract state machinesBytecodeInstance (computer science)Web browserFront and back endsIntermediate languagePoint (geometry)Multiplication signFunctional (mathematics)Cartesian coordinate systemStructural loadRight angleCompilerLevel (video gaming)CompilerResultantMobile app2 (number)Library (computing)FamilyComputer programmingPiProcess (computing)Sign (mathematics)FrustrationAssembly languageRepresentation (politics)State of matterWorkstation <Musikinstrument>Visualization (computer graphics)WebsiteComputer animationLecture/Conference
Computer animation
Transcript: English(auto-generated)