Domain-Specific Languages (DSLs) manifest themselves in remarkably diverse shapes, ranging from internal DSLs embedded as fluent APIs, to external DSLs with dedicated syntax and tool support. Although different shapes have different pros and cons, combining them for a single language is problematic: language designers usually commit to a particular shape early in the design process, and it is hard to reconsider this choice later. In this new ideas paper, we envision a language engineering approach enabling (i) language users to manipulate language constructs in the most appropriate shape according to the task at hand, and (ii) language designers to combine the strengths of different technologies for a single DSL. We report on early experiments and lessons learned building Prism, our prototype approach to this problem. We illustrate its applicability in the engineering of a shape-diverse DSL implemented conjointly in Rascal, EMF, and Java. We hope that our initial contribution will raise the awareness of the community and encourage future research.

Additional Metadata
Keywords Domain-specific language, Shape-diverse dsl
Persistent URL dx.doi.org/10.1145/3276604.3276623
Conference ACM SIGPLAN International Conference on Software Language Engineering
Citation
Coulon, F, van der Storm, T, Degueule, T.F, & Combemale, B. (2018). Shape-diverse DSLs: Languages without borders (vision paper). In SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2018 (pp. 215–219). doi:10.1145/3276604.3276623