A certifying compiler for Java

C Colby, P Lee, GC Necula, F Blau, M Plesko… - ACM SIGPLAN …, 2000 - dl.acm.org
This paper presents the initial results of a project to determine if the techniques of proof-
carrying code and certifying compilers can be applied to programming languages of realistic …

On the unusual effectiveness of logic in computer science

JY Halpern, R Harper, N Immerman… - Bulletin of Symbolic …, 2001 - cambridge.org
In 1960, EP Wigner, a joint winner of the 1963 Nobel Prize for Physics, published a paper
titled On the Unreasonable Effectiveness of Mathematics in the Natural Sciences [61]. This …

Automatically proving the correctness of compiler optimizations

S Lerner, T Millstein, C Chambers - Proceedings of the ACM SIGPLAN …, 2003 - dl.acm.org
We describe a technique for automatically proving compiler optimizations sound, meaning
that their transformations are always semantics-preserving. We first present a domain …

Towards a mechanized metatheory of Standard ML

DK Lee, K Crary, R Harper - Proceedings of the 34th annual ACM …, 2007 - dl.acm.org
We present an internal language with equivalent expressive power to Standard ML, and
discuss its formalization in LF and the machine-checked verification of its type safety in …

Hybrid type checking

K Knowles, C Flanagan - ACM Transactions on Programming …, 2010 - dl.acm.org
Traditional static type systems are effective for verifying basic interface specifications.
Dynamically checked contracts support more precise specifications, but these are not …

Optimizing ML with run-time code generation

P Lee, M Leone - ACM SIGPLAN Notices, 1996 - dl.acm.org
We describe the design and implementation of a compiler that automatically translates
ordinary programs written in a subset of ML into code that generates native code at run time …

A modular module system

X Leroy - Journal of Functional Programming, 2000 - cambridge.org
A simple implementation of an SML-like module system is presented as a module
parameterized by a base language and its type-checker. This implementation is useful both …

What is a recursive module?

K Crary, R Harper, S Puri - Proceedings of the ACM SIGPLAN 1999 …, 1999 - dl.acm.org
A hierarchical module system is an effective tool for structuring large programs. Strictly
hierarchical module systems impose an acyclic ordering on import dependencies among …

Automated soundness proofs for dataflow analyses and transformations via local rules

S Lerner, T Millstein, E Rice, C Chambers - ACM SIGPLAN Notices, 2005 - dl.acm.org
We present Rhodium, a new language for writing compiler optimizations that can be
automatically proved sound. Unlike our previous work on Cobalt, Rhodium expresses …

Compiling standard ML to Java bytecodes

N Benton, A Kennedy, G Russell - Proceedings of the third ACM …, 1998 - dl.acm.org
MLJ compiles SML'97 into verifier-compliant Java byte-codes. Its features include type-
checked interlanguage working extensions which allow ML and Java code to call each …