Blame for all

  • Authors:
  • Amal Ahmed;Robert Bruce Findler;Jacob Matthews;Philip Wadler

  • Affiliations:
  • Toyota Technological Institute at Chicago;Northwestern University;Google;University of Edinburgh

  • Venue:
  • Proceedings for the 1st workshop on Script to Program Evolution
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a language that integrates statically and dynamically typed components, similar to the gradual types of Siek and Taha (2006), and extend it to incorporate parametric polymorphism. Our system permits a dynamically typed value to be cast to a polymorphic type, with the type enforced by dynamic sealing along the lines proposed by Pierce and Sumii (2000), Matthews and Ahmed (2008), and Neis, Dreyer, and Rossberg (2009), in a way that ensures all terms satisfy relational parametricity. Our system includes a notion of blame, which allows us to show that when more-typed and less-typed portions of a program interact, that any type failures are due to the less-typed portion.