Skip to main content

Extending Little Languages into Big Systems

  • Chapter
Central European Functional Programming School (CEFP 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7241))

Included in the following conference series:

  • 701 Accesses

Abstract

A classic layout for complex software applications usually involves a set of fine-tuned performance-optimized routines that are combined and controlled from a higher layer in a lightweight fashion. As the application grows, reliable operation, portability, and maintainability gets to be a real concern. However, this can be tamed by abstracting away from the platform-dependent details by modelling the components and their relation on a higher level. Using a functional programming language combined with the technique of language embedding may be an answer when implementation of such solution comes in question [1][2]. In this design, the component descriptions may be captured by an adequate embedded domain-specific language that compiles to a lower-level language but there also has to be a way for composition and therefore getting a complete working application out of them. In this paper, we propose a method for extending compiled embedded domain-specific languages into a stand-alone system with minimal effort.

Supported by KMOP-2008-1.1.2-08/1-2008-0002, Ericsson and Ericsson Software Research, POSDRU/6/1.5/S/3-2008

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. Felleisen, M., Findler, B., Flatt, M., et al.: Building Little Languages With Macros, Dr. Dobb’s Journal (April 2004)

    Google Scholar 

  2. Elliott, C., Finne, S., de Moor, O.: Compiling Embedded Languages. In: Taha, W. (ed.) SAIG 2000. LNCS, vol. 1924, pp. 9–26. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  3. Axelsson, E., Claessen, K., Dévai, G., Horváth, Z., Keijzer, K., Lyckegård, B., Persson, A., Sheeran, M., Svenningsson, J., Vajda, A.: Feldspar: A Domain Specific Language for Digital Signal Processing algorithms. In: Eighth ACM/IEEE International Conference on Formal Methods and Models for Codesign, Grenoble, France, July 26–28 (2010)

    Google Scholar 

  4. Schüpbach, A., Peter, S., Baumann, A., et al.: Embracing Diversity in the Barrelfish Manycore Operating System. In: Proc. of the Workshop on Managed Many-Core Systems (MMCS 2008) (June 2008)

    Google Scholar 

  5. Gill, A., Launchbury, J., Peyton Jones, S.L.: A Short-Cut to Deforestation. In: Proc. Int. Conf. on Functional Programming Languages and Compiler Architecture, FPCA (1993)

    Google Scholar 

  6. Dagand, P.E., Baumann, A., Roscoe, T.: Filet-o-Fish: Practical and Dependable Domain-Specific Language for OS Development. ACM SIGOPS Operating Systems Review (2010)

    Google Scholar 

  7. Lee, E., Hylands, C., Janneck, J., et al.: Overview of the Ptolemy Project Technical Report UCB/ERL M01/11, EECS Department, University of California, Berkeley (2001)

    Google Scholar 

  8. Brorsson, M., Faxen, K.-F., Popov, K.: ArchiDeS: A Programming Framework for Multicore Chips. In: Swedish Workshop on Multicore Computing, MCC 2009 (2009)

    Google Scholar 

  9. Enea, A.B.: Enea OSE: Multicore Real-Time Operating System (2011), http://www.enea.com/

  10. Marlow, S.: Parallel and Concurrent Programming in Haskell. In: Central European Functional Programming Summer School (CEFP), Eötvös Loránd University, Budapest, June 14–24 (2011)

    Google Scholar 

  11. Marlow, S., Newton, R., Peyton Jones, S.L.: A Monad for Deterministic Parallelism. In: Haskell 2011: Proc. of the 4th ACM SIGPLAN Symposium on Haskell, Tokyo, Japan. ACM (2011)

    Google Scholar 

  12. Paterson, R.: Arrows and Computation. In: The Fun of Programming, pp. 201–222, Palgrave (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Páli, G. (2012). Extending Little Languages into Big Systems. In: Zsók, V., Horváth, Z., Plasmeijer, R. (eds) Central European Functional Programming School. CEFP 2011. Lecture Notes in Computer Science, vol 7241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32096-5_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-32096-5_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-32095-8

  • Online ISBN: 978-3-642-32096-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics