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 …
GC Necula, J Condit, M Harren, S McPeak… - ACM Transactions on …, 2005 - dl.acm.org
This article describes CCured, a program transformation system that adds type safety guarantees to existing C programs. CCured attempts to verify statically that memory errors …
When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of types in typical scripting languages means that programmers must (re) …
We describe a design pattern for writing programs that traverse data structures built from rich mutually-recursive data types. Such programs often have a great deal of" boilerplate" code …
H Xi, C Chen, G Chen - Proceedings of the 30th ACM SIGPLAN-SIGACT …, 2003 - dl.acm.org
We introduce a notion of guarded recursive (gr) datatype constructors, generalizing the notion of recursive datatypes in functional programming languages such as ML and Haskell …
J Carette, O Kiselyov, C Shan - Journal of Functional Programming, 2009 - cambridge.org
We have built the first family of tagless interpretations for a higher-order typed object language in a typed metalanguage (Haskell or ML) that require no dependent types …
First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for …
AW Appel - Proceedings 16th Annual IEEE Symposium on …, 2001 - ieeexplore.ieee.org
Proof-carrying code is a framework for the mechanical verification of safety properties of machine-language programs, but the problem arises of" quis custodiat ipsos custodes"-ie …
We introduce System FC, which extends System F with support for non-syntactic type equality. There are two main extensions:(i) explicit witnesses for type equalities, and (ii) …