ACM Home Page
Please provide us with feedback. Feedback
Implementation of an interpreter for abstract equations
Full text PdfPdf (972 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
Salt Lake City, Utah, United States
Pages: 111 - 121  
Year of Publication: 1984
ISBN:0-89791-125-3
Authors
Christoph M. Hoffmann  Purdue University, The Johns Hopkins University
Michael J. O`Donnell  Purdue University, The Johns Hopkins University
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGADA: ACM Special Interest Group on Ada Programming Language
SIGAPL: ACM Special Interest Group on APL Programming Language
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 32,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800017.800522
What is a DOI?

ABSTRACT

This paper summarizes a project, introduced in [HO79, HO82b], whose goal is the implementation of a useful interpreter for abstract equations that is absolutely faithful to the logical semantics of equations. The Interpreter was first distributed to Berkeley UNIX VAX sites in May, 1983. The main novelties of the interpreter are (1) strict adherence to semantics based on logical consequences; (2) “lazy” (outermost)evaluation applied uniformly; (3) an implementation based on table-driven pattern matching, with no run-time penalty for large sets of equations; (4) strict separation of syntactic and semantic processing, so that different syntaxes may be used for different problems.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
 
4
Ashcroft, E. and W. Wadge, Lucid - A Formal System for Writing and Proving Programs. SIAM Journal on Computing 5:3, 1976, 336:354.
5
6
7
 
8
9
 
10
Bérry, G. and Lévy, J. J. Letter to the Editor, SIGACT News, v. 11, no. 1, Summer 1979, 3-4.
 
11
Bjorner, D. Finite State Tree Computations (Part I). IBM Research Technical Report RJ 1053 (#17598), 1972.
 
12
Bruynooghe, M., An Interpreter for Predicate Logic Programs Part I, Report CWI0, Applied Mathematics and Programming Division, Katholieke Universiteit, Leuven, Belgium, 1976.
 
13
Burstall, R. M. and Goguen, J. A. Putting Theories Together to Make Specifications. 5th International Joint Conference on Artificial Intelligence, Cambridge, Mass., 1965.
 
14
Burstall, R., MacQueen, D., Sannella, D. HOPE: An Experimental Applicative Language. Internal Report CSR-62-80, University of Edinburgh, 1980.
 
15
 
16
Cargill, T., Deterministic Operational Semantics for Lucid, Research Report C'S-76-19, University of Waterloo, 1976.
 
17
Chew, L. P. An Improved Algorithm for Computing With Equations. 21st Annual Symposium on Foundations of Computer Science, 1980, 108-117.
 
18
 
19
de Bruijn, N. G. Lambda Ca1culus Notation with Nameless Dummies, Nederl. Akad. Wetensch. Proc. Series A 75, 1972, 381-392.
 
20
Curry, H. B., and Feys, R., Combinatory Logic volume I. North-Holland, Amsterdam, 1958.
 
21
Downey, P. and R. Sethi, Correct Computation Rules for Recursive Languages. SIAM Journal on Computing 5:3, 1976, 378-401.
 
22
 
23
Friedman, D., and D. Wise, Cons should not evaluate its arguments, 3rd International Colloquium on Automata, Languages and Programming, Edinburgh, Edinburgh University Press, 1976, 257-284.
 
24
 
25
Goguen, J., Abstract Errors for Abstract Data Types, IFIP Working Conference on Formal Description of Programming Concepts, E. J. Neuhold, ed., North-Holland, 1977,
 
26
Guibas, L. and R. Sedgewick, A Dichromatic Frame-work for Balanced Trees, 19th Symposium on Foundations of computer Science, 1978, 8-21.
 
27
Guttag, J., E. Horowitz and D. Musser, Abstract Data Types and Software Validation, Information Science Research Report ISI/RR-76-48, University of Southern California, 1976.
28
 
29
Hoffmann, C., Design and Correctness of a Compiler for a Nonprocedural Language, Acta Informatica 9, 1978, 217-241.
30
31
32
 
33
Huet, G. and J.-J. Lévy, Computations in Non-ambiguous Linear Term Rewriting Systems, IRIA Technical Report #359, 1979.
 
34
Johnson, S. D., An Interpretive Model for a Language Based on Suspended Construction, Technical Report #68, Dept. of Computer Science, Indiana University, 1977.
 
35
Kahn, G. and MacQueen, D. B. Coroutines and Networks of Parallel Processes, Information Processing 77, B. Gilchrist ed., North-Holland, 1977, 993-998.
 
36
Knuth, D., J. Morris and V. Pratt, Fast Pattern Matching in Strings, SIAM J. on Comp. 6:2 (1977)323-350
 
37
Klop, J. W. Combinatory Reduction Systems, Ph.D.dissertation, Mathematisch Centrum, Amsterdam, 1980.
 
38
Knuth, D., and P. Bendix, Simple Word Problems inUniversal Algebras. Computational Problems in Abstract Algebra. J. Leech, ed., Pergammon Press, Oxford, 1970, 263-297.
39
40
 
41
McIlroy, M. D., Coroutines, Internal report, Bell Telephone Laboratories, Murray Hill, New Jersey, May 1968.
 
42
Möncke, U. An Incremental and Decremental Generator for Tree Analysers Bericht Nr. A 80/3, Fachber. Informatik Univ. des Saarlandes, Saarbrücken, April 1980
43
44
 
45
 
46
O'Donnell, M. J. Letter to the Editor, SIGACT News, v. 11, no. 2, Fall 1979, p. 2.
 
47
Roberts, G., An Implementation of PROLOG, M.S. Thesis, Dept. of Computer Science, University of Waterloo, 1977.
48
 
49
Staples, J., A Class of Replacement Systems with Simple Optimality Theory, Bulletin of the Australian Mathematical Society, 17:3, 1977, 335-350.
 
50
 
51
Stenlund, S. Combinators, Lambda-Terms, and Proof Theory. D. Reidel Publishing Company, Dordrecht, Holland, 1972.
 
52
Vuillemin, J., Correct and Optimal implementations of Recursion in a Simple Programming Language, JCSS 9:3, 1974, 332-354.
 
53
Wand, M., First Order Identities as a Defining Language, Technical Report #29, Dept. of Computer Science, Indiana University, 1976.
 
54
Warren, D., Implementing PROLOG, Research Reports #39, 40, Dept. of Artificial Intelligence, University of Edinburgh, 1977.


Collaborative Colleagues:
Christoph M. Hoffmann: colleagues
Michael J. O`Donnell: colleagues