Chapter 4: Calculating an Exceptional Machine

Hutton, Graham; Wright, Joel
March 2006
Trends in Functional Programming Volume 5;2006, Vol. 5, p49
In previous work we showed how to verify a compiler for a small language with exceptions. In this article we show how to calculate, as opposed to verify, an abstract machine for this language. The key step is the use of Reynold's defunctionalization, an old program transformation technique that has recently been rejuvenated by the work of Danvy et al.


Related Articles

  • An Analysis and Survey of the Development of Mutation Testing. Jia, Yue; Harman, Mark // IEEE Transactions on Software Engineering;May2011, Vol. 37 Issue 5, p649 

    Mutation Testing is a fault-based software testing technique that has been widely studied for over three decades. The literature on Mutation Testing has contributed a set of approaches, tools, developments, and empirical results. This paper provides a comprehensive analysis and survey of...

  • Hottest Features of Monad. Otey, Michael // Windows IT Pro;Feb2005, Vol. 11 Issue 2, p67 

    Enumerates the features of Microsoft Corp.'s new scripting language called Monad. Capacity of Monad to replace the non-intuitive command naming scheme; Steps in defining the scope of the variable; Advantages of Monad.

  • Nautilus, a Concurrent Diagrammatic Specification and Programming Language. Fuzitaki, Claudio; Menezes, Paulo; Machado, Júlio; D’Andrea, Fernando // Journal of Supercomputing;Apr2006, Vol. 36 Issue 1, p51 

    Nautilus is a high-level specification and programming language having abstraction mechanisms not commonly found in other programming languages inspired by its semantic domain (a categorial model named Nonsequential Automata). It constitutes an elegant solution for concurrency and...

  • Real-time monitoring and analysis system monitors industrial power quality. Kubis, Mark; Choo, Chin Siet // Control Solutions;Mar2003, Vol. 76 Issue 3, p17 

    Focuses on real-time monitoring and analysis system that monitors industrial power quality. Importance of understanding the power quality problem; Description of a system using National Instruments PXI hardware and labVIEW, a graphical programming language; Functions of the system; Conclusion.

  • Algres: An Advanced Database System for Complex Applications. Ceri, Stefano; Crespi-Reghizzi, Stefano; Zicari, Roberto; Lamperti, Gianfranco; Lavazza, Luigi A. // IEEE Software;Jul90, Vol. 7 Issue 4, p68 

    Focuses on the Algres relational programming environment for the development of data-intensive applications that perform complex operations over complex data structures. Limitations of pure relational algebra as a prototyping tool; Components of the Algres project; Specifications of the...

  • Programming language. Seiter, Charles // Macworld;Jun94, Vol. 11 Issue 6, p77 

    Reviews VIP Basic 1.0.1 programming language.

  • Java still boiling.  // Australian Personal Computer;Mar2001, Vol. 22 Issue 3, p101 

    Deals with the relevance of Java programming language in 2001. Media hype over the language in late 1995; Introduction of version 1.2 of the Java2 Enterprise edition.

  • Measuring the Performance and Behavior of Icon Programs. Coutant, Cary A.; Griswold, Ralph E.; Hanson, David R. // IEEE Transactions on Software Engineering;Jan83, Vol. 9 Issue 1, p93 

    The importance of the ability to measure the performance of programs written in high-level languages is well known. Performance measurement enables users to locate and correct program inefficiencies where automatic optimizations fail and provides a tool for understanding program behavior. This...

  • A Model for Representing Programs Using Hierarchical Graphs. Yau, Stephen S.; Grabow, Paul C. // IEEE Transactions on Software Engineering;Nov81, Vol. 7 Issue 6, p556 

    In this paper a hierarchical graph model for programs based on the concepts of recursive graphs (RG's) and Codd relations is presented. The purpose of the model is to clearly represent the structure of a program implemented in a structured language, such as Pascal, Algol, or PL/1, so that the...


Read the Article


Sorry, but this item is not currently available from your library.

Try another library?
Sign out of this library

Other Topics