While there are many JavaScript libraries for building solutions for a wide range of problems, it’s not easy for novices to harness their power. We show how TypeScript, a gradually typed superset of JavaScript, can be used to bridge the gap between JavaScript and Blockly, a framework for creating block-based programming environments that greatly reduces the potential for syntax and semantic errors. In particular, we define a mapping from TypeScript to Blockly that makes it simple to create a domain-specific Blockly editor for a JavaScript library via a TypeScript declaration file. This mapping is supported by Microsoft MakeCode (https://makecode.com). An online editor for exploring the mapping from TypeScript to Blockly is at https://makecode.com/playground.

Sun 4 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

14:10 - 15:00
Accessibility & Language Construction ToolsBLOCKS+ at Beacon Hill
14:10
10m
Talk
Building an Accessible Block Environment
BLOCKS+
Emmanuel Schanzer Brown University, Sina Bahram Prime Access Consulting, Shriram Krishnamurthi Brown University, USA
Pre-print
14:20
5m
Talk
Language Workbench Support for Block-Based DSLs
BLOCKS+
Mauricio Verano Merino Technische Universiteit Eindhoven, Tijs van der Storm CWI & University of Groningen
Pre-print
14:25
5m
Talk
Rapid Prototyping for Blocks-based Languages and Environments
BLOCKS+
Josh Caldwell Code.org, Josh Lory Code.org
Pre-print
14:30
5m
Talk
TypeScript: From JavaScript to Blockly and Back
BLOCKS+
Thomas Ball Microsoft Research, Peli de Halleux Microsoft Research, Sam El-Husseini Microsoft, Richard Knoll Microsoft, Michał Moskal Microsoft Research
Pre-print
14:35
25m
Other
Themed Session 3: Break-out discussions and demos/posters
BLOCKS+