This book shows how continuation-passing style is used as an intermediate representation to perform optimizations and program transformations in a compiler for Standard ML.Expand

This textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems.Expand

This textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems.Expand

Foundational proof-carrying code is verification from the smallest possible set of axioms, using the simplest possible verifier and runtime system.Expand

The simulation of N particles interacting in a gravitational force field is useful in astrophysics, but such simulations become costly for large N. Representing the universe as a tree structure with the particles at leaves and internal nodes labeled with the centers of mass of their descendants allows several simultaneous attacks on the computation time required by the problem.Expand

Standard ML of New Jersey is a compiler and programming environment for the Standard ML language[26] that has been continuously developed since early 1986.Expand

The proofs of foundational PCC explicitly define all required types and explicitly prove all the required properties of those types assuming only a fixed foundation of mathematics such as higher-order logic.Expand

We show a universal type framework for proof-carrying code that will allow a code producer to choose a programming language, prove the type rules for that language as lemmas in higher-order logic, then use those Lemmas to prove the safety of a particular program.Expand