Refinement types: A tutorial

R Jhala, N Vazou - Foundations and Trends® in …, 2021 - nowpublishers.com
Refinement types enrich a language's type system with logical predicates that circumscribe
the set of values described by the type. These refinement predicates provide software …

Gradual ty** for objects

J Siek, W Taha - European Conference on Object-Oriented …, 2007 - Springer
Static and dynamic type systems have well-known strengths and weaknesses. In previous
work we developed a gradual type system for a functional calculus named λ^?_→. Gradual …

Liquid types

PM Rondon, M Kawaguci, R Jhala - Proceedings of the 29th ACM …, 2008 - dl.acm.org
We present Logically Qualified Data Types, abbreviated to Liquid Types, a system that
combines Hindley-Milner type inference with Predicate Abstraction to automatically infer …

Well-typed programs can't be blamed

P Wadler, RB Findler - European Symposium on Programming, 2009 - Springer
We introduce the blame calculus, which adds the notion of blame from Findler and
Felleisen's contracts to a system similar to Siek and Taha's gradual types and Flanagan's …

Practical dynamic software updating for C

I Neamtiu, M Hicks, G Stoyle, M Oriol - ACM SIGPLAN Notices, 2006 - dl.acm.org
Software updates typically require stop** and restarting an application, but many systems
cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) …

Hybrid type checking

C Flanagan - Conference record of the 33rd ACM SIGPLAN-SIGACT …, 2006 - dl.acm.org
Traditional static type systems are very effective for verifying basic interface specifications,
but are somewhat limited in the kinds specifications they support. Dynamically-checked …

Dependent types for low-level programming

J Condit, M Harren, Z Anderson, D Gay… - … 2007, Held as Part of the …, 2007 - Springer
In this paper, we describe the key principles of a dependent type system for low-level
imperative languages. The major contributions of this work are (1) a sound type system that …

Blame for all

A Ahmed, RB Findler, JG Siek, P Wadler - Proceedings of the 38th …, 2011 - dl.acm.org
Several programming languages are beginning to integrate static and dynamic ty**,
including Racket (formerly PLT Scheme), Perl 6, and C# 4.0 and the research languages …

Abstract refinement types

N Vazou, PM Rondon, R Jhala - European Symposium on Programming, 2013 - Springer
We present abstract refinement types which enable quantification over the refinements of
data-and function-types. Our key insight is that we can avail of quantification while …

Space-efficient gradual ty**

D Herman, A Tomb, C Flanagan - Higher-Order and Symbolic …, 2010 - Springer
Gradual type systems offer a smooth continuum between static and dynamic ty** by
permitting the free mixture of typed and untyped code. The runtime systems for these …