A Gentle Introduction to Multi-stage Programming, Part II
As domain-specific languages (DSLs) permeate into mainstream software engineering, there is a need for economic methods for implementing languages. Following up on a paper with a similar title, this paper focuses on dynamically typed languages, covering issues ranging from parsing to defining and staging an interpreter for an interesting subset of Dr. Scheme. Preliminary experimental results indicate that the speedups reported in previous work for smaller languages and with smaller benchmarks are maintained.
KeywordsMatch Statement Logical Negation Abstract Syntax Recursive Call Concrete Syntax
Unable to display preview. Download preview PDF.
- 2.Danvy, O., Malmkjaer, K., Palsberg, J.: Eta-expansion does the trick. Technical Report RS-95-41, University of Aarhus, Aarhus (1995)Google Scholar
- 3.Friedman, D.P., Want, M., Haynes, C.T.: Essentials of Programming Languages. MIT Press, Cambridge (2003)Google Scholar
- 5.Oregon Graduate Institute Technical Reports. P.O. Box 91000, Portland, OR 97291-1000, USA, ftp://cse.ogi.edu/pub/tech-reports/README.html
- 6.Sabry, A.: The Formal Relationship between Direct and Continuation-Passing Style Optimizing Compilers: A Synthesis of Two Paradigms. PhD thesis, Rice University (August 1994)Google Scholar
- 7.Taha, W.: Multi-Stage Programming: Its Theory and Applications. PhD thesis, Oregon Graduate Institute of Science and Technology (1999) Available from Google Scholar
- 9.Thiemann, P.: Correctness of a region-based binding-time analysis. In: Mathematical Foundations of Programming Semantics, Thirteenth Annual Conference, Pittsburgh, Pennsylvania, Carnegie Mellon University, p. 26. Elsevier, Amsterdam (1997)Google Scholar
- 10.Wadler, P., Taha, W., MacQueen, D.B.: How to add laziness to a strict language withouth even being odd. In: Proceedings of the 1998 ACM Workshop on ML, Baltimore, pp. 24–30 (1998)Google Scholar