English

Semantic subtyping for non-strict languages

Programming Languages 2021-11-15 v2

Abstract

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.

Keywords

Cite

@article{arxiv.1810.05555,
  title  = {Semantic subtyping for non-strict languages},
  author = {Tommaso Petrucciani and Giuseppe Castagna and Davide Ancona and Elena Zucca},
  journal= {arXiv preprint arXiv:1810.05555},
  year   = {2021}
}

Comments

Extended version of a submission to the post-proceedings of TYPES'18

R2 v1 2026-06-23T04:37:45.373Z