PLI 2000 Principles, Logics, and Implementations of high-level programming languages