Operational machine specification in a functional programming language

This paper advocates the use functional programming languages for the formal specification of (abstract) machines. The presented description method describes machines by a two‐level model. At the bottom layer machine components and the micro instructions to handle them are described by using an abstract data type. The top layer describes the machine instructions in terms of these micro instructions.

[1]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[2]  Pieter Koopman,et al.  Graph rewriting using the annotated functional strategy , 1993 .

[3]  Pieter Koopman,et al.  Functional programs as executable specifications , 1990 .

[4]  Andrew S. Tanenbaum,et al.  Structured computer organization; (2nd ed.) , 1984 .

[5]  Marko C. J. D. van Eekelen,et al.  Concurrent Clean , 1991, PARLE.

[6]  Alan Mycroft,et al.  Polymorphic Type Schemes and Recursive Definitions , 1984, Symposium on Programming.

[7]  Michael J. C. Gordon,et al.  The Denotational Description of Programming Languages , 1979, Springer New York.

[8]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[9]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[10]  David A. Schmidt,et al.  Denotationaisemantics: a methodology for language development , 1986 .

[11]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[12]  Thomas Johnsson Efficient compilation of lazy evaluation , 1984, SIGP.

[13]  Marko C. J. D. van Eekelen,et al.  Towards an Intermediate Language based on Graph Rewriting , 1987, PARLE.

[14]  Michael J. C. Gordon,et al.  The denotational description of programming languages - an introduction , 1979 .

[15]  Marko C. J. D. van Eekelen,et al.  Functional Programming and Parallel Graph Rewriting , 1993 .

[16]  Andrew S. Tanenbaum,et al.  Structured Computer Organization , 1976 .

[17]  David Turner Functional programs as executable specifications , 1984, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[18]  Marko C. J. D. van Eekelen,et al.  Parallel graph rewriting - some contributions to its theory, its implementation and its application , 1988 .

[19]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[20]  Marko C. J. D. van Eekelen,et al.  CLEAN: A language for functional graph writing , 1987, FPCA.

[21]  Jan Willem Klop,et al.  Term rewriting systems: a tutorial , 1987 .