Chapter

A List of Successes That Can Change the World

Volume 9600 of the series Lecture Notes in Computer Science pp 249-272

Date:

The Essence of Dependent Object Types

  • Nada AminAffiliated withEPFL
  • , Samuel GrütterAffiliated withEPFL
  • , Martin OderskyAffiliated withEPFL Email author 
  • , Tiark RompfAffiliated withPurdue University
  • , Sandro StuckiAffiliated withEPFL

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Focusing on path-dependent types, the paper develops foundations for Scala from first principles. Starting from a simple calculus D\(_{<:}\) of dependent functions, it adds records, intersections and recursion to arrive at DOT, a calculus for dependent object types. The paper shows an encoding of System F with subtyping in D\(_{<:}\) and demonstrates the expressiveness of DOT by modeling a range of Scala constructs in it.

Keywords

Calculus Dependent types Scala