Javascript must be enabled to continue!
Decidable Subtyping for Path Dependent Types
View through CrossRef
<p>Path dependent types form a central component of the Scala programming language. Coupled with other expressive type forms, path dependent types provide for a diverse set of concepts and patterns, from nominality to F-bounded polymorphism. Recent years have seen much work aimed at formalising the foundations of path dependent types, most notably a hard won proof of type safety. Unfortunately subtyping remains undecidable, presenting problems for programmers who rely on the results of their tools. One such tool is Dotty, the basis for the upcoming Scala 3. Another is Wyvern, a new programming language that leverages path dependent types to support both first class modules and parametric polymorphism. In this thesis I investigate the issues with deciding subtyping in Wyvern. I define three decidable variants that retain several key instances of expressiveness including the ability to encode nominality and parametric polymorphism. Wyvfix fixes types to the contexts they are defined in, thereby eliminating expansive environments. Wyvnon-μ removes recursive subtyping, thus removing the key source of expansive environments during subtyping. Wyvμ places a syntactic restriction on the usage of recursive types. I discuss the formal properties of these variants, and the implications each has for expressing the common programming patterns of path dependent types. I have also mechanized the proofs of decidability for both Wyvfix and Wyvμ in Coq.</p>
Title: Decidable Subtyping for Path Dependent Types
Description:
<p>Path dependent types form a central component of the Scala programming language.
Coupled with other expressive type forms, path dependent types provide for a diverse set of concepts and patterns, from nominality to F-bounded polymorphism.
Recent years have seen much work aimed at formalising the foundations of path dependent types, most notably a hard won proof of type safety.
Unfortunately subtyping remains undecidable, presenting problems for programmers who rely on the results of their tools.
One such tool is Dotty, the basis for the upcoming Scala 3.
Another is Wyvern, a new programming language that leverages path dependent types to support both first class modules and parametric polymorphism.
In this thesis I investigate the issues with deciding subtyping in Wyvern.
I define three decidable variants that retain several key instances of expressiveness including the ability to encode nominality and parametric polymorphism.
Wyvfix fixes types to the contexts they are defined in, thereby eliminating expansive environments.
Wyvnon-μ removes recursive subtyping, thus removing the key source of expansive environments during subtyping.
Wyvμ places a syntactic restriction on the usage of recursive types.
I discuss the formal properties of these variants, and the implications each has for expressing the common programming patterns of path dependent types.
I have also mechanized the proofs of decidability for both Wyvfix and Wyvμ in Coq.
</p>.
Related Results
Subtyping of Dengue Viruses using Return Time Distribution based Appproach
Subtyping of Dengue Viruses using Return Time Distribution based Appproach
AbstractDengue virus (DENV) is the causative agent of Dengue Hemorrhagic Fever and Dengue Shock Syndrome, and continues to represent a major public health hazard. DENVs are antigen...
Comparative evaluation of the effect of glide path creation with Nitiflex hand K- file, Proglider and Path file on canal transportation and concentricity in apically curved canals - An In- Vitro study.
Comparative evaluation of the effect of glide path creation with Nitiflex hand K- file, Proglider and Path file on canal transportation and concentricity in apically curved canals - An In- Vitro study.
Abstract
Aim:
To compare and evaluate the effect of glide path creation with Nitiflex hand K- file, Proglider and Path file on canal transportation and concentricity in...
Autostability spectra for decidable structures
Autostability spectra for decidable structures
We study autostability spectra relative to strong constructivizations (SC-autostability spectra). For a decidable structure$\mathcal{S}$, the SC-autostability spectrum of$\mathcal{...
Research on Path Smoothing Optimization based on Improved RRT-Connect Algorithm and third-order Bezier curve
Research on Path Smoothing Optimization based on Improved RRT-Connect Algorithm and third-order Bezier curve
Abstract
Targeting the deficiencies of the original RRT-Connect path planning algorithm in dealing with obstacle avoidance, planning efficiency and path smoothing in static...
Efficient subtyping tests with PQ-encoding
Efficient subtyping tests with PQ-encoding
Subtyping test
, i.e., determining whether one type is a subtype of another, are a frequent operation during the execution of object-oriented programs. The challenge is...
Large Scale PWR Passive Containment Cooling System Wind Tunnel Test
Large Scale PWR Passive Containment Cooling System Wind Tunnel Test
CAP1400 is a large passive pressurized water reactor nuclear power plant, which relies on engineering safety features such as passive containment cooling system (PCS) to remove the...
Satisfaction in Counseling Alumni and Students
Satisfaction in Counseling Alumni and Students
The purpose of this study was to investigate satisfaction in counseling majors. The four independent variables investigated were gender, program status, employment status, and age....
Showing the path to path dependence: the habitual path
Showing the path to path dependence: the habitual path
This article investigates the conceptual and theoretical implications of the logic of habit for the path-dependence approach. In the existing literature, we see two different logic...

