JSFoo 2016

Tackling speed and performance for JavaScript

Inside a JS compiler

Submitted by Rico Sta. Cruz (@rstacruz) on Tuesday, 30 August 2016

videocam_off

Technical level

Intermediate

Section

Crisp talk

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +3

Abstract

Hi! I’m the author of js2coffee, a JavaScript to CoffeeScript compiler, among many other JS projects. I had a lot of fun writing a JavaScript compiler (or “transpiler” to be more specific), I learned a lot, and would love to share the story of building it at JSFoo.

Outline

  1. What is a compiler?
    A short recap on the components of a compiler today explaining tokenizers, parsers, and generators.

  2. About the JS AST
    Let’s look at a brief history touching Mozilla’s Narcissus project, as well as the emergence of the estree spec used today by Esprima, Babel, Acorn, and many other tools.

  3. JavaScript transpiling
    I’ll explain the first iteration of js2coffee, the problems that plagued it, and how it was solved by Babel, Traceur, and js2coffee 2.0.

  4. The future
    Given the emergence of new developments like estree and es6, I’ll share my thoughts on what this means for the future of JavaScript.

Requirements

An open mind

Speaker bio

Rico Sta. Cruz is the web developer/designer behind many popular open source JavaScript libraries in use today. He is one of the top contributors at GitHub, host of JSConf Asia 2013, and the head organizer of the Philippine JavaScript community Manila.js.

Links

Comments

Login with Twitter or Google to leave a comment