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

Exploring WebAssembly with Forth (and vice versa)

00:00

Formal Metadata

Title
Exploring WebAssembly with Forth (and vice versa)
Subtitle
Artisanal, minimal, just-in-time compilation for the web and beyond
Title of Series
Number of Parts
542
Author
License
CC Attribution 2.0 Belgium:
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

Content Metadata

Subject Area
Genre
Abstract
Forth is an extremely minimalistic yet powerful language. Its minimalism has historically made it the language of choice to explore and directly interact with the lowest levels of systems, traditionally the hardware. However, you can also use Forth to explore the low levels of the web platform: WebAssembly. In this talk, I’ll dive into the details of WAForth, a tiny but complete Forth interpreter and dynamic compiler for and written in WebAssembly. You’ll see some Forth in action, read hand-written WebAssembly code, get introduced to tools used for working with WebAssembly, hear about JIT compilation for WebAssembly, and learn how you can move all this outside the web platform into native code.
Assembly languageInteractive televisionFormal languageComputer programmingIntegrated development environmentGame controllerSystem programmingFirmwareOpen setGame theoryDrop (liquid)Logical constantSquare numberCondition numberProgrammschleifeLoop (music)Function (mathematics)Right angleInterpreter (computing)NumberReading (process)SpacetimeData dictionaryCompilerAsynchronous Transfer ModeElectric currentCompilerStack (abstract data type)Machine codeConstructor (object-oriented programming)TrailoutputStreaming mediaDisintegrationStandard deviationBinary filePortable communications deviceWeb browserLatent heatFormal languagePortable communications deviceWordInterpreter (computing)Cartesian coordinate systemMaxima and minimaContext awarenessGame controllerCompilerLogical constantReverse engineeringFunctional (mathematics)Web browserOpen setPositional notationToken ringStandard deviationProgrammschleifeCombinational logicCompilerInstallable File SystemMachine codeRegular expressionSpacetimePhysical systemInheritance (object-oriented programming)Symbol tablePower (physics)Stack (abstract data type)ImplementationResultantAsynchronous Transfer ModeCondition numberLoop (music)Computer hardwareProgramming languageInformationBinary codeException handlingHigh-level programming languageNumberAssembly languageLecture/ConferenceComputer animation
WavePhysical systemAssembly languageExtension (kinesiology)Complete metric spaceCore dumpBinary fileUsabilityPhysical systemMachine codeInformationReading (process)WordMaxima and minimaCompilerFunction (mathematics)outputStandard deviationFreewareInterpreter (computing)Set (mathematics)Computer fileComputer animation
Function (mathematics)NumberString (computer science)Cellular automatonStack (abstract data type)System callJava appletScripting languageMachine codeStructural loadSpacetimeMessage passingVideo game consolePhysical systemMachine codeStandard deviationCartesian coordinate systemKeyboard shortcutXMLComputer animation
Video game consoleTurtle graphicsLogical constantDrop (liquid)Loop (music)Magneto-optical driveRandom numberAngleRight angleTurtle graphicsGraphics softwareIntegrated development environmentComputer animation
DemonSquare numberLaptopExtension (kinesiology)Machine codeWebsiteComplex (psychology)Atomic nucleusMathematicsContent (media)Logical constantEntire functionComputer fileLaptopSound effectMachine codeParameter (computer programming)Scripting languageComputer programmingComputer animation
LaptopMachine codeExtension (kinesiology)Loop (music)Data dictionaryBlock (periodic table)GravitationElectric currentCellular automatonInterpreter (computing)File formatAssembly languageBinary fileSequenceAssembly languageMereologyFile formatComputer animation
Block (periodic table)Loop (music)outputStreaming mediaParsingControl flowLogical constantAddress spaceToken ringLocal ringInterpreter (computing)Data dictionaryElectric currentCompilerFile formatAssembly languageBinary fileMachine codeSequenceMachine codeData structureCompilerInterpreter (computing)Asynchronous Transfer ModeFunctional (mathematics)Computer animation
Block (periodic table)Loop (music)outputFederation of Bosnia and HerzegovinaLogical constantToken ringSlosh dynamicsData dictionaryLocal ringInterpreter (computing)File formatAssembly languageBinary fileMachine codeSequenceEmailRevision controlData typeSheaf (mathematics)Function (mathematics)Element (mathematics)Read-only memoryTable (information)FlagCompilerAsynchronous Transfer ModeCompilerModule (mathematics)OpcodeDiscrete element methodPrice indexInheritance (object-oriented programming)Address spacePort scannerControl flowStructural loadParameter (computer programming)BootingTorusPointer (computer programming)Row (database)Electric currentRun time (program lifecycle phase)Raw image formatSystem callMereologyHexagonEmailMachine codeCASE <Informatik>Binary codeCorrespondence (mathematics)Module (mathematics)Pointer (computer programming)TrailComputer filePhysical systemCompilerSemiconductor memoryWordProjective planeMultiplication signSubject indexingFunctional (mathematics)Interpreter (computing)Computer animation
Physical systemInteractive televisionDrop (liquid)GEDCOMPhysical systemGroup actionCompilerDebuggerFunctional (mathematics)Machine codeCompilerComputer animation
Assembly languageMachine codeNetwork topologyStructural loadRead-only memoryInjektivitätProcess (computing)Game controllerCompilerComputer animation
Table (information)Function (mathematics)Assembly languageMachine codeHydraulic jumpSystem callPrice indexData dictionaryMachine codeFunctional (mathematics)Physical systemSemiconductor memorySubject indexingTable (information)WordThread (computing)Hydraulic jumpData structureBranch (computer science)Structured programmingImplementationComputer animation
MeasurementSieve of EratosthenesFunction (mathematics)Prime idealDrop (liquid)Loop (music)BenchmarkOverhead (computing)Web browserAssembly languageNumberRevision controlPrime numberFunctional (mathematics)Run time (program lifecycle phase)BitSieve of EratosthenesMachine codeInterpreter (computing)Multiplication signMachine codeLogical constantPhysical systemHydraulic jumpResultantCASE <Informatik>AlgorithmComputer architectureWeb browserComputer animation
Web browserAssembly languageLine (geometry)ImplementationDifferent (Kate Ryan album)Flow separationPhysical systemMachine codeLine (geometry)Formal languageRevision controlStandard deviationBlack boxComputer animation
BenchmarkWeb browserOverhead (computing)Assembly languageRun time (program lifecycle phase)Revision controlWeb browserBitMultiplication signImplementationGoodness of fitComputer animation
Run time (program lifecycle phase)Assembly languageMachine codeTrailCompilerAsynchronous Transfer ModeComputer virusBinary fileModule (mathematics)Function (mathematics)Fluid staticsBenchmarkWeb browserOverhead (computing)Process (computing)System callDirected setGaussian eliminationModule (mathematics)Set (mathematics)Machine codeCompilerBinary codePhysical systemTable (information)Line (geometry)Computer architectureResultantCompilerComputer programmingMessage passingImplementationSystem callDirection (geometry)Machine codeStructural loadFormal languageWeb browserComputer animation
Assembly languageLecture/Conference
Web pageMachine codeElectric generatorLecture/Conference
Level (video gaming)Table (information)CompilerFunctional (mathematics)Formal languageLecture/Conference
Binary codeCompilerBenchmarkLecture/Conference
Program flowchart
Transcript: English(auto-generated)