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

Formale Metadaten

Titel
Getting the hang of WASM
Serientitel
Anzahl der Teile
Autor
Mitwirkende
Lizenz
CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache
ProduktionsortErlangen, Germany

Inhaltliche Metadaten

Fachgebiet
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.
CodeMaschinenspracheZeichenketteProgrammbibliothekTypentheorieMAPProgrammierumgebungBildschirmmaskeFunktionalGarbentheorieGeradeHochdruckKompakter RaumLastMomentenproblemZahlenbereichSystemaufrufReelle ZahlÄhnlichkeitsgeometrieCASE <Informatik>BinärdatenInstantiierungElektronische UnterschriftUmwandlungsenthalpieBimodulBrowserSkriptspracheMinimumEndliche ModelltheorieDifferenteAutorisierungSelbstrepräsentationObjekt <Kategorie>MultiplikationsoperatorBenutzerbeteiligungWeb-ApplikationBinärcodeRechenschieberDateiformatZweiDefaultComputeranimationVorlesung/Konferenz
ProgrammierumgebungBrowserPhysikalisches SystemFunktion <Mathematik>ZeichenketteBimodulDatensichtgerätCompilerZeichenketteDateiverwaltungProgrammierumgebungFunktionalGeradeHochdruckService providerBimodulBrowserObjektmodellSelbstrepräsentationCodeInformationMehrrechnersystemMereologiePhysikalisches SystemZahlenbereichInstantiierungSampler <Musikinstrument>SkriptspracheWorkstation <Musikinstrument>Endliche ModelltheorieComputeranimation
Funktion <Mathematik>ZahlenbereichGraphfärbungComputeranimation
ZeichenketteFunktion <Mathematik>BitFormale GrammatikEreignishorizontCodeIterationFunktionalLoopProjektive EbeneResultanteZahlenbereichCASE <Informatik>BimodulDateiformatBenutzerbeteiligungProgrammbibliothekBildschirmmaskeHochdruckMereologieInstantiierungNotebook-ComputerBrowserComputeranimation
StandardabweichungWhiteboardCompilerZeiger <Informatik>WechselsprungFunktion <Mathematik>Ein-AusgabeCodeFormale SpracheTransformation <Mathematik>WhiteboardSchreiben <Datenverarbeitung>Gesetz <Physik>BitFunktionalMonster-GruppeGoogolStandardabweichungComputeranimation
AbstraktionsebeneWechselsprungp-BlockFunktion <Mathematik>RFIDTouchscreenHochdruckWort <Informatik>BimodulInterpretiererImplementierungTeilmengeCompilerComputerspielHalbleiterspeicherCompilerFunktionalGarbentheorieMereologiePi <Zahl>ZahlenbereichComputervirusInstantiierungPunktWiederkehrender ZustandSkriptspracheRechenbuchMultiplikationsoperatorSchreiben <Datenverarbeitung>BenutzerbeteiligungCodeHochdruckFibonacci-FolgeComputeranimation
AbstraktionsebeneCodeAbstrakter SyntaxbaumSyntaktische AnalyseCodeTopologieAutomatische IndexierungBildschirmmaskeMereologieAbstraktionsebeneInstantiierungEndliche ModelltheorieSelbstrepräsentationNeuroinformatikBimodulAbstrakter SyntaxbaumComputeranimation
Abstrakter SyntaxbaumZahlenbereichCompilerSyntaktische AnalyseFunktion <Mathematik>ATMBimodulPrimidealKontrollstrukturCodeBrowserCodePrimzahlSyntaktische AnalyseTopologieGebäude <Mathematik>BitFunktionalGeradeMereologiePi <Zahl>RechenschieberNotebook-ComputerViewerEndliche ModelltheorieFitnessfunktionSpeicherbereichsnetzwerkMultiplikationsoperatorZweiGenerator <Informatik>FontComputeranimation
BrowserBimodulCodeSprachsyntheseZahlenbereichQuick-SortPunktVorzeichen <Mathematik>ZweiComputeranimation
BimodulKompakter RaumDateiformatMereologieComputeranimation
Kompakter RaumCodeFormale SpracheMAPProgrammierumgebungCompilerFunktionalInterpretiererLastResultanteZwischenspracheTranslation <Mathematik>InstantiierungPunktKontrollstrukturKartesische KoordinatenBrowserAbstrakte ZustandsmaschineByte-CodeFront-End <Software>MultiplikationsoperatorZweiRechter WinkelApp <Programm>ProgrammierungProgrammbibliothekAggregatzustandPi <Zahl>VisualisierungFamilie <Mathematik>Prozess <Informatik>Workstation <Musikinstrument>Vorzeichen <Mathematik>Web SiteSelbstrepräsentationGeometrische FrustrationComputeranimationVorlesung/Konferenz
Computeranimation
Transkript: English(automatisch erzeugt)