scholarly journals Corpse reviver: sound and efficient gradual typing via contract verification

2021 ◽  
Vol 5 (POPL) ◽  
pp. 1-28
Author(s):  
Cameron Moy ◽  
Phúc C. Nguyễn ◽  
Sam Tobin-Hochstadt ◽  
David Van Horn
Keyword(s):  
2016 ◽  
Vol 51 (1) ◽  
pp. 429-442 ◽  
Author(s):  
Ronald Garcia ◽  
Alison M. Clark ◽  
Éric Tanter
Keyword(s):  

2016 ◽  
Vol 51 (1) ◽  
pp. 456-468 ◽  
Author(s):  
Asumu Takikawa ◽  
Daniel Feltey ◽  
Ben Greenman ◽  
Max S. New ◽  
Jan Vitek ◽  
...  
Keyword(s):  

Author(s):  
BEN GREENMAN ◽  
ASUMU TAKIKAWA ◽  
MAX S. NEW ◽  
DANIEL FELTEY ◽  
ROBERT BRUCE FINDLER ◽  
...  

Abstract A sound gradual type system ensures that untyped components of a program can never break the guarantees of statically typed components. This assurance relies on runtime checks, which in turn impose performance overhead in proportion to the frequency and nature of interaction between typed and untyped components. The literature on gradual typing lacks rigorous descriptions of methods for measuring the performance of gradual type systems. This gap has consequences for the implementors of gradual type systems and developers who use such systems. Without systematic evaluation of mixed-typed programs, implementors cannot precisely determine how improvements to a gradual type system affect performance. Developers cannot predict whether adding types to part of a program will significantly degrade (or improve) its performance. This paper presents the first method for evaluating the performance of sound gradual type systems. The method quantifies both the absolute performance of a gradual type system and the relative performance of two implementations of the same gradual type system. To validate the method, the paper reports on its application to 20 programs and 3 implementations of Typed Racket.


2018 ◽  
Vol 2 (OOPSLA) ◽  
pp. 1-27 ◽  
Author(s):  
Daniel Feltey ◽  
Ben Greenman ◽  
Christophe Scholliers ◽  
Robert Bruce Findler ◽  
Vincent St-Amour
Keyword(s):  

2017 ◽  
Vol 1 (ICFP) ◽  
pp. 1-29 ◽  
Author(s):  
Yuu Igarashi ◽  
Taro Sekiyama ◽  
Atsushi Igarashi
Keyword(s):  

Author(s):  
DAVID DARAIS ◽  
DAVID VAN HORN

AbstractGalois connections are a foundational tool for structuring abstraction in semantics, and their use lies at the heart of the theory of abstract interpretation. Yet, mechanization of Galois connections using proof assistants remains limited to restricted modes of use, preventing their general application in mechanized metatheory and certified programming. This paper presents constructive Galois connections, a variant of Galois connections that is effective both on paper and in proof assistants; is complete with respect to a large subset of classical Galois connections; and enables more general reasoning principles, including the “calculational” style advocated by Cousot. To design constructive Galois connections, we identify a restricted mode of use of classical ones which is both general and amenable to mechanization in dependently typed functional programming languages. Crucial to our metatheory is the addition of monadic structure to Galois connections to control a “specification effect.” Effectful calculations may reason classically, while pure calculations have extractable computational content. Explicitly moving between the worlds of specification and implementation is enabled by our metatheory. To validate our approach, we provide two case studies in mechanizing existing proofs from the literature: the first uses calculational abstract interpretation to design a static analyzer, and the second forms a semantic basis for gradual typing. Both mechanized proofs closely follow their original paper-and-pencil counterparts, employ reasoning principles not captured by previous mechanization approaches, support the extraction of verified algorithms, and are novel.


2011 ◽  
Vol 46 (10) ◽  
pp. 609-624 ◽  
Author(s):  
Lintaro Ina ◽  
Atsushi Igarashi
Keyword(s):  

2015 ◽  
Vol 50 (1) ◽  
pp. 167-180 ◽  
Author(s):  
Aseem Rastogi ◽  
Nikhil Swamy ◽  
Cédric Fournet ◽  
Gavin Bierman ◽  
Panagiotis Vekris
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document