Towards Algorithmic Typing for DOT

08/17/2017
by   Abel Nieto, et al.
0

The Dependent Object Types (DOT) calculus formalizes key features of Scala. The D_<: calculus is the core of DOT. To date, presentations of D_<: have used declarative typing and subtyping rules, as opposed to algorithmic. Unfortunately, algorithmic typing for full D_<: is known to be an undecidable problem. We explore the design space for a restricted version of D_<: that has decidable typechecking. Even in this simplified D_<: , algorithmic typing and subtyping are tricky, due to the "bad bounds" problem. The Scala compiler bypasses bad bounds at the cost of a loss in expressiveness in its type system. Based on the approach taken in the Scala compiler, we present the Step Typing and Step Subtyping relations for D_<: . We prove these relations sound and decidable. They are not complete with respect to the original D_<: rules.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/14/2019

Undecidability of D_<: and Its Decidable Fragments

Dependent Object Types (DOT) is a calculus with path dependent types, in...
research
08/12/2018

Typed Closure Conversion for the Calculus of Constructions

Dependently typed languages such as Coq are used to specify and verify t...
research
12/21/2021

L-types for resource awareness: an implicit name approach

Since the early work of Church on λI-calculus and Gentzen on structural ...
research
06/22/2023

Special Delivery: Programming with Mailbox Types (Extended Version)

The asynchronous and unidirectional communication model supported by mai...
research
04/28/2021

Linear Additives

We introduce 𝖫𝖠𝖬, a subsystem of 𝖨𝖬𝖠𝖫𝖫_2 with restricted additive rules ...
research
06/12/2017

A Simple Soundness Proof for Dependent Object Types

Dependent Object Types (DOT) is intended to be a core calculus for model...
research
05/31/2019

A Role for Dependent Types in Haskell (Extended version)

Modern Haskell supports zero-cost coercions, a mechanism where types tha...

Please sign up or login with your details

Forgot password? Click here to reset