GdT programmation / séminaire IRILL

RSS

Types you can count on: Like types for JavaScript

Thursday, February 27, 2014
Francesco Zappa Nardelli (Parkas - INRIA / ENS)

Scripting languages support exploratory development by eschewing static type annotations but fall short when small scripts turn into large programs. Academic researchers have proposed type systems that integrate dynamic and static types, providing robust error reports when the contract at the boundary between the two worlds is violated. Safety comes at the price of pervasive runtime checks. On the other hand, practitioners working on massive code bases have come up with type systems that are unsound and that are ignored at runtime, but which have proven useful in practice. In this talk I will propose a new design for the JavaScript language, combining dynamic types, concrete types and like types to let developers pick the level of guarantee that is appropriate for their code. We have implemented the design on top of TruffleJS and I will report on performance (up-to 30% speedup on on benchmarks heavily using class-based objects) and software engineering benefits.
Joint work with Gregor Richards, Caleb Rouleau and Jan Vitek (Purdue U.).


More details here …
Emmanuel.Chailloux (at) nulllip6.fr