A Comparative Case Study of Code Reuse With Language Oriented Programming
David H. Lorenz, Boaz Rosenan

TL;DR
This paper compares two approaches to Language Oriented Programming (LOP)—external DSLs with MPS and internal DSLs with Cedalion—using a case study on building a calculator-based Software Product Line to evaluate code reuse.
Contribution
It provides a comparative analysis of external versus internal DSL approaches in LOP through a practical case study on software reuse.
Findings
External DSLs with MPS facilitate high-level reuse effectively.
Internal DSLs with Cedalion offer flexible and integrated reuse.
Both approaches demonstrate significant reuse in the calculator SPL case study.
Abstract
There is a gap between our ability to reuse high-level concepts in software design and our ability to reuse the code implementing them. Language Oriented Programming (LOP) is a software development paradigm that aims to close this gap, through extensive use of Domain Specific Languages (DSLs). With LOP, the high-level reusable concepts become reusable DSL constructs, and their translation into code level concepts is done in the DSL implementation. Particular products are implemented using DSL code, thus reusing only high-level concepts. In this paper we provide a comparison between two implementation approaches for LOP: (a) using external DSLs with a projectional language workbench (MPS); and (b) using internal DSLs with an LOP language (Cedalion). To demonstrate how reuse is achieved in each approach, we present a small case study, where LOP is used to build a Software Product Line…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques · Natural Language Processing Techniques · Logic, programming, and type systems
