Skip to main content

A universal scripting framework or Lambda: The ultimate “little language”

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1179))

Abstract

The “little languages” approach to systems programming is flawed: inefficient, fragile, error-prone, inexpressive, and difficult to compose. A better solution is to embed task-specific sublanguages within a powerful, syntactically extensible, universal language, such as Scheme. I demonstrate two such embeddings that have been implemented in scsh, a Scheme programming environment for Unix systems programming. The first embedded language is a highlevel process-control notation; the second provides for Awk-like processing. Embedding systems in this way is a powerful technique: for example, although the embedded Awk system was implemented with 7% of the code required for the standard C-based Awk, it is significantly more expressive than its C counterpart.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger. Awk—a pattern scanning and processing language. Software—Practice and Experience, IX(4):267–279, April, 1979.

    Google Scholar 

  2. Dylan: An Object-Oriented Dynamic Language. Apple Computer, 1992.

    Google Scholar 

  3. Stuart I. Feldman. Make—A program for maintaining computer programs. Software—Practice and Experience, IX(4):255–265, April, 1979.

    Google Scholar 

  4. Don Libes. expect: Curing those uncontrollable fits of interaction. In Proceedings of the Summer 1990 USENIX conference, Anaheim, Ca., June 1990.

    Google Scholar 

  5. Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. The MIT Press, Cambridge, Mass., 1990.

    Google Scholar 

  6. J. Rees and W. Clinger (editors). The revised4 report on the algorithmic language Scheme. Lisp Pointers IV(3):1–55, July–September 1991.

    Google Scholar 

  7. Olin Shivers. A Scheme shell. To appear in the Journal of Lisp and Symbolic Computation.

    Google Scholar 

  8. Olin Shivers. The scsh manual. November 1995, scsh release 0.4. MIT Laboratory for Computer Science. (Also available at URL http://swissnet.ai.mit.edu/scsh/.)

    Google Scholar 

  9. Guy L. Steele Jr. Common Lisp: The Language. Digital Press, Maynard, Mass., second edition 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joxan Jaffar Roland H. C. Yap

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shivers, O. (1996). A universal scripting framework or Lambda: The ultimate “little language”. In: Jaffar, J., Yap, R.H.C. (eds) Concurrency and Parallelism, Programming, Networking, and Security. ASIAN 1996. Lecture Notes in Computer Science, vol 1179. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0027798

Download citation

  • DOI: https://doi.org/10.1007/BFb0027798

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62031-0

  • Online ISBN: 978-3-540-49626-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics