LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING
Bernhard G. Humm, Ralf S. Engelschall
2010
Abstract
According to the paradigm of Language-Oriented Programming, an application for a problem should be implemented in the most appropriate domain-specific language (DSL). This paper introduces DSL stacking, an efficient method for implementing Language-Oriented Programming where DSLs and general-purpose languages are incrementally developed on top of a base language. This is demonstrated with components of a business information system that are implemented in different DSLs for Semantic Web technology in Lisp.
References
- Aho, A. V., Kernighan, B. W., and Weinberger, P. J. (1988). The AWK Programming Language. Addison-Wesley.
- Berners-Lee, T., Hendler, J., and Lassila, O. (2001). The Semantic Web: A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities: www.scientificamerican.com/article.cfm?id=thesemantic-web. Scientific American.
- Brauer, J., Crasemann, C., and Krasemann, H. (2008). Auf dem Weg zu idealen Programmierwerkzeugen - Bestandsaufnahme und Ausblick. Informatik Spektrum, 31(6):580-590.
- Clocksin, W. F. and Mellish, C. (1987). Programming in Prolog, 3rd Edition. Springer.
- Dmitriev, S. (2005). Language Oriented Programming: The Next Programming Paradigm. http://www.onboard.jetbrains.com/is1/articles/04/10/ lop/.
- Feldman, S. I. (1979). Make - A Program for Maintaining Computer Programs. Software: Practice & Experience, 9:255-265.
- Felleisen, M. (1990). On the Expressive Power of Programming Languages. In Jones, N., editor, Proceedings 3rd European Symposium on Programming (ESOP'90) Copenhagen, Denmark, May , 1990, volume 432 of Lecture Notes in Computer Science, pages 134-151, Berlin, Heidelberg, Springer,.
- Fowler, M. (2005). Language Workbenches: The Killer-App for Domain Specific Languages? http://martinfowler.com/articles/languageWorkbench. html.
- Goldfinger, R. (1961). language structure. 4(3):138.
- Gosling, J., Joy, B., Steele, G., and Bracha, G. (2005). The Java language specification. Addison-Wesley, Upper Saddle River, NJ, 3. ed., 1. print. edition.
- Graunke, P. T., Krishnamurthi, S., Van Der Hoeven, S., and Felleisen, M. (2001). Programming the Web with High-Level Programming Languages. In David Sands, editor, Proceedings 10th European Symposium on Programming (ESOP 2001), Genova, Italy, April 2001, volume 2028 of Lecture Notes in Computer Science. Springer.
- Greenfield, J. (2004). Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. http://msdn.microsoft.com/enus/library/ms954811.aspx.
- Irons, E. T. (1961). A Syntax Directed Compiler for ALGOL 60. Communications of the ACM, 4(1):51-55.
- Irons, E. T. (1970). Experience with an Extensible Language. Communications of the ACM, 13(1):31-40.
- Kay, A., Piumarta, I., Rose, K., Ingalls, D., and Amelang, D. (2008). STEPS Toward The Reinvention of Programming: 2008 Progress Report Submitted to the National Science Foundation (NSF): VPRI Technical Report TR-2008-004. Technical report, Viewpoints Research Institute.
- Kay, A. C. (1993). The Early History of Smalltalk. In HOPL Preprints, pages 69-95.
- Kernighan, B. W. and Ritchie, D. M. (2008). The C programming language. Prentice Hall PTR, Upper Saddle River, NJ, 2nd ed., 43. print. edition.
- McCarthy, J. (1960). Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I. Communications of the ACM, 3(4):184-195.
- OASIS (2007). Web Services Business Process Execution Language Version 2.0: OASIS Standard. http://docs.oasis-open.org/wsbpel/2.0/wsbpelv2.0.pdf.
- Simonyi, C., Christerson, M., and Clifford, S. (2006). Intentional software. In Tarr, P. L. and Cook, W. R., editors, Proceedings of the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2006), pages 451-464.
- Steele, G. L. (1984). COMMON LISP: The Language. Digital Press, 12 Crosby Drive, Bedford, MA 01730, USA.
- van Deursen, A., Klint, P., and Visser, J. (2000). DomainSpecific Languages: An Annotated Bibliography. ACM SIGPLAN Notices, 35:26-36.
- Ward, M. P. (1994). Language-Oriented Programming. Software - Concepts and Tools, 15(4):147-161.
- World Wide Web Consortium (W3C) (2010). Semantic Web: http://www.w3.org/standards/semanticweb/, last visited 30/4/2010.
Paper Citation
in Harvard Style
G. Humm B. and S. Engelschall R. (2010). LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING . In Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-23-2, pages 279-287. DOI: 10.5220/0002925402790287
in Bibtex Style
@conference{icsoft10,
author={Bernhard G. Humm and Ralf S. Engelschall},
title={LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING},
booktitle={Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT,},
year={2010},
pages={279-287},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002925402790287},
isbn={978-989-8425-23-2},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT,
TI - LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING
SN - 978-989-8425-23-2
AU - G. Humm B.
AU - S. Engelschall R.
PY - 2010
SP - 279
EP - 287
DO - 10.5220/0002925402790287