Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5235))

Abstract

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.

Supported by NSF CCR SoD 0439017, CSR/EHS 0720857, and CCF CAREER 0747431.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Consel, C., Danvy, O.: For a better support of static data flow. In: Hughes, R.J.M. (ed.) FPCA 1991. LNCS, vol. 523, pp. 496–519. ACM Press, Cambridge (1991)

    Chapter  Google Scholar 

  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 

  4. Hutton, G., Meijer, E.: Monadic Parsing in Haskell. Journal of Functional Programming 8(4), 437–444 (1998)

    Article  MATH  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 [5]

    Google Scholar 

  8. Taha, W.: A gentle introduction to multi-stage programming. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 30–50. Springer, Heidelberg (2004)

    Chapter  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Taha, W. (2008). A Gentle Introduction to Multi-stage Programming, Part II. In: Lämmel, R., Visser, J., Saraiva, J. (eds) Generative and Transformational Techniques in Software Engineering II. GTTSE 2007. Lecture Notes in Computer Science, vol 5235. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88643-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88643-3_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88642-6

  • Online ISBN: 978-3-540-88643-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics