Semantic subtyping for non-strict languages

10/12/2018
by   Tommaso Petrucciani, et al.
0

Semantic subtyping is an approach to define subtyping relations for type systems featuring union and intersection type connectives. It has been studied only for strict languages, and it is unsound for non-strict semantics. In this work, we study how to adapt this approach to non-strict languages: in particular, we define a type system using semantic subtyping for a functional language with a call-by-need semantics. We do so by introducing an explicit representation for divergence in the types, so that the type system distinguishes expressions that are results from those which are computations that might diverge.

READ FULL TEXT
research
09/18/2019

A Three-Valued Semantics for Typed Logic Programming

Types in logic programming have focused on conservative approximations o...
research
08/28/2019

Adding Data to Curry

Functional logic languages can solve equations over user-defined data an...
research
11/05/2021

Programming with union, intersection, and negation types

In this essay, I present the advantages and, I dare say, the beauty of p...
research
11/02/2021

Do Names Echo Semantics? A Large-Scale Study of Identifiers Used in C++'s Named Casts

Developers relax restrictions on a type to reuse methods with other type...
research
02/26/2022

Semantic Soundness for Language Interoperability

Programs are rarely implemented in a single language, and thus questions...
research
04/30/2018

Prospects for Declarative Mathematical Modeling of Complex Biological Systems

Declarative modeling uses symbolic expressions to represent models. With...
research
03/14/2022

Strict stability of extension types

We show that the extension types occurring in Riehl–Shulman's work on sy...

Please sign up or login with your details

Forgot password? Click here to reset