no code implementations • 15 Jun 2019 • Joseph Eremondi, Éric Tanter, Ronald Garcia
Dependent typechecking involves the execution of program code, but gradually-typed code can signal runtime type errors or diverge.
Programming Languages
1 code implementation • 4 Mar 2019 • Kenji Maillard, Danel Ahman, Robert Atkey, Guido Martinez, Catalin Hritcu, Exequiel Rivas, Éric Tanter
This paper proposes a general semantic framework for verifying programs with arbitrary monadic side-effects using Dijkstra monads, which we define as monad-like structures indexed by a specification monad.
Programming Languages
no code implementations • 12 Jul 2018 • Matías Toro, Elizabeth Labrada, Éric Tanter
Bringing the benefits of gradual typing to a language with parametric polymorphism like System F, while preserving relational parametricity, has proven extremely challenging: first attempts were formulated a decade ago, and several recent developments have been published in the past year.
Programming Languages
1 code implementation • 5 Jul 2018 • Niki Vazou, Éric Tanter, David Van Horn
Liquid typing provides a decidable refinement inference mechanism that is convenient but subject to two major issues: (1) inference is global and requires top-level annotations, making it unsuitable for inference of modular code components and prohibiting its applicability to library code, and (2) inference failure results in obscure error messages.
Programming Languages