ACM Home Page
Please provide us with feedback. Feedback
On compiling embedded languages in LISP
Full text PdfPdf (691 KB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1980 ACM conference on LISP and functional programming table of contents
Stanford University, California, United States
Pages: 208 - 215  
Year of Publication: 1980
Authors
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 29,   Citation Count: 5
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/800087.802808
What is a DOI?

ABSTRACT

In INTERLISP we find a number of embedded languages such as the iterative statement and the pattern match facility in the CLISP package, the editor and makefile languages and so forth. We will in this paper concentrate on the problem of extending the LISP language and discuss a method to compile such extensions. We propose the language to be implemented through an interpreter (written in LISP) and that compilation of statements in such an embedded language is done through partial evaluation. The interpreter is partially evaluated with respect to the actual statements, and an object program in LISP is obtained. This LISP code can further be compiled to machine code by the standard LISP compiler. We have implemented the iterative statement and a CLISP-like pattern matcher and used a program manipulation system to generate object programs in LISP. Comparisons will be made with the corresponding INTERLISP implementations, which use special purpose compilers in order to generate the LISP code.


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
Allen, F. et al. The experimental compiling systems project, IBM Research Report, RC 6718, T.J. Watson Research Center, Yorktown Heights, New York, 1977.
2
 
3
Beckman, L., Haraldson, A., Oskarsson, &Obreve;., Sandewall, E. A. partial evaluator and its use as a programming tool, Artificial Intelligence Journal 7, 1976, 319-357.
4
5
 
6
 
7
Emanuelson P. (under preparation), Informatics Laboratory, Linköping University, Sweden, 1980.
 
8
Ershov, A.P. On the partial computation principle, Information Processing Letters, no 2, 1977.
 
9
Ershov, A.P. On the essence of compilation, IFIP Working Conference on formal description of programming concepts, S. Andrews, Canada, aug 1977.
 
10
Futamura, Y. Partial evaluation of computer programs: An approach to a compiler-compiler. J. Inst. Electronics and Communication Engineers, 1971.
 
11
Haraldsson, A. A program manipulation system based on partial evaluation, Ph.D. Thesis, Informatics Laboratory, Linköping University, Sweden, 1977.
12
 
13
Haraldsson, A. Experiences from a program manipulation system, Informatics Laboratory, Linköping University, Sweden, 1980.
 
14
Harrison, W. A new strategy for code generation - The general-purpose optimizing compiler, IEEE transactions on software engineering, vol SE-4, 4, july 1979.
 
15
 
16
Komorowski, H.J. and Goodwin, J. W. Embedding Prolog in Lisp: An example of a Lisp Craft Tradition, Informatics Laboratory, Linköping University, Sweden, 1980.
17
 
18
Rich, C. and Shrobe, H. Design of a programmers apprentice, Artificial intelligence: An MIT perspective, vol 1, The MIT Press, 1979.
19
 
20
Teitelman, W. INTERLISP Reference Manual, Xerox, Palo Alto Research Center, Calif, 1978.
21


Collaborative Colleagues:
Pär Emanuelson: colleagues
Anders Haraldsson: colleagues