The authors describe here a framework in which the type notation of functional languages is extended to include a notation for binding times (that is run-time and compile-time) that distinguishes between them. Consequently, the ability to specify code and verify program correctness can be improved. Two developments are needed, the first of which introduces the binding time distinction into the lambda calculus in a manner analogous with the introduction of types into the untyped lambda calculus. Methods are also presented for introducing combinators for run-time. The second concerns the...
The authors describe here a framework in which the type notation of functional languages is extended to include a notation for binding times (that is ...
Program analysis utilizes static techniques for computing reliable information about the dynamic behavior of programs. Applications include compilers (for code improvement), software validation (for detecting errors) and transformations between data representation (for solving problems such as Y2K). This book is unique in providing an overview of the four major approaches to program analysis: data flow analysis, constraint-based analysis, abstract interpretation, and type and effect systems. The presentation illustrates the extensive similarities between the approaches, helping readers to...
Program analysis utilizes static techniques for computing reliable information about the dynamic behavior of programs. Applications include compilers ...
Program analysis concerns static techniques for computing reliable approximate information about the dynamic behaviour of programs. Applications include compilers (for code improvement), software validation (for detecting errors in algorithms or breaches of security) and transformations between data representation (for solving problems such as the Y2K problem). This book is unique in giving an overview of the four major approaches to program analysis: data flow analysis, constraint based analysis, abstract interpretation, and type and effect systems. The presentation demonstrates the...
Program analysis concerns static techniques for computing reliable approximate information about the dynamic behaviour of programs. Applications inclu...
Both functional and concurrent programming are relatively new paradigms with great promise. In this book, a survey is provided of extensions to Standard ML, one of the most widely used functional languages, with new primitives for concurrent programming. Computer scientists and graduate students will find this a valuable guide to this topic.
Both functional and concurrent programming are relatively new paradigms with great promise. In this book, a survey is provided of extensions to Standa...