{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,30]],"date-time":"2026-04-30T08:05:13Z","timestamp":1777536313452,"version":"3.51.4"},"reference-count":23,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2019,12,21]],"date-time":"2019-12-21T00:00:00Z","timestamp":1576886400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2019,12,21]],"date-time":"2019-12-21T00:00:00Z","timestamp":1576886400000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2020,3]]},"DOI":"10.1007\/s10270-019-00772-7","type":"journal-article","created":{"date-parts":[[2019,12,21]],"date-time":"2019-12-21T08:03:22Z","timestamp":1576915402000},"page":"263-267","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["The Software Language Extension Problem"],"prefix":"10.1007","volume":"19","author":[{"given":"Manuel","family":"Leduc","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thomas","family":"Degueule","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eric","family":"Van Wyk","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Benoit","family":"Combemale","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2019,12,21]]},"reference":[{"issue":"3","key":"772_CR1","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1145\/3093335.2993239","volume":"52","author":"A Biboudis","year":"2017","unstructured":"Biboudis, A., Inostroza, P., Storm, T.V.: Recaf: Java dialects as libraries. ACM SIGPLAN Notices 52(3), 2\u201313 (2017)","journal-title":"ACM SIGPLAN Notices"},{"key":"772_CR2","doi-asserted-by":"publisher","first-page":"50","DOI":"10.1016\/j.jss.2019.02.026","volume":"152","author":"A Butting","year":"2019","unstructured":"Butting, A., Eikermann, R., Kautz, O., Rumpe, B., Wortmann, A.: Systematic composition of independent language features. J. Syst. Softw. 152, 50\u201369 (2019). https:\/\/doi.org\/10.1016\/j.jss.2019.02.026","journal-title":"J. Syst. Softw."},{"key":"772_CR3","doi-asserted-by":"crossref","unstructured":"Degueule, T., Combemale, B., Blouin, A., Barais, O., J\u00e9z\u00e9quel, J.M.: Melange: A meta-language for modular and reusable development of dsls. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering, pp. 25\u201336. ACM (2015)","DOI":"10.1145\/2814251.2814252"},{"key":"772_CR4","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1016\/j.cl.2016.09.001","volume":"49","author":"T Degueule","year":"2016","unstructured":"Degueule, T., Combemale, B., Blouin, A., Barais, O., J\u00e9z\u00e9quel, J.M.: Safe model polymorphism for flexible modeling. Comput. Lang. Syst. Struct. 49, 30 (2016). https:\/\/doi.org\/10.1016\/j.cl.2016.09.001","journal-title":"Comput. Lang. Syst. Struct."},{"key":"772_CR5","unstructured":"Erdweg, S., Giarrusso, P.G., Rendel, T.: Language composition untangled. In: A.\u00a0Sloane, S.\u00a0Andova (eds.) International Workshop on Language Descriptions, Tools, and Applications, LDTA \u201912, Tallinn, Estonia, March 31\u2013April 1, 2012, p.\u00a07. ACM (2012). 10.1145\/2427048.2427055"},{"issue":"10","key":"772_CR6","doi-asserted-by":"publisher","first-page":"391","DOI":"10.1145\/2076021.2048099","volume":"46","author":"Sebastian Erdweg","year":"2011","unstructured":"Erdweg, S., Rendel, T., Kastner, C., Ostermann, K.: SugarJ: Library-based syntactic language extensibility. In: Proceedings of ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languags, and Applications (OOPSLA), pp. 391\u2013406. ACM (2011). 10.1145\/2048066.2048099","journal-title":"ACM SIGPLAN Notices"},{"key":"772_CR7","unstructured":"Hills, M., Klint, P., van\u00a0der Storm, T., Vinju, J.J.: A case of visitor versus interpreter pattern. In: J.\u00a0Bishop, A.\u00a0Vallecillo (eds.) Objects, Models, Components, Patterns: 49th International Conference, TOOLS 2011, Zurich, Switzerland, June 28-30, 2011. Proceedings, Lecture Notes in Computer Science, vol. 6705, pp. 228\u2013243. Springer (2011). 10.1007\/978-3-642-21952-8\\_17"},{"issue":"OOPSLA","key":"772_CR8","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3138224","volume":"1","author":"Ted Kaminski","year":"2017","unstructured":"Kaminski, T., Kramer, L., Carlson, T., Van\u00a0Wyk, E.: Reliable and automatic composition of language extensions to C: The ablec extensible language framework. PACMPL 1(OOPSLA), 98:1\u201398:29 (2017). 10.1145\/3138224","journal-title":"Proceedings of the ACM on Programming Languages"},{"key":"772_CR9","doi-asserted-by":"publisher","first-page":"352","DOI":"10.1007\/978-3-642-36089-3_20","volume-title":"Software Language Engineering","author":"Ted Kaminski","year":"2013","unstructured":"Kaminski, T., Van\u00a0Wyk, E.: Modular well-definedness analysis for attribute grammars. In: Proceedings of the 5th International Conference on Software Language Engineering (SLE), Lecture Notes in Computer Science, vol. 7745, pp. 352\u2013371. Springer, Berlin (2012). 10.1007\/978-3-642-36089-3\\_20"},{"key":"772_CR10","doi-asserted-by":"crossref","unstructured":"Klint, P., Van\u00a0der Storm, T., Vinju, J.: Rascal: A domain specific language for source code analysis and manipulation. In: Source Code Analysis and Manipulation, 2009. SCAM\u201909. Ninth IEEE International Working Conference on, pp. 168\u2013177. IEEE (2009)","DOI":"10.1109\/SCAM.2009.28"},{"key":"772_CR11","unstructured":"Leduc, M., Degueule, T., Combemale, B.: Modular language composition for the masses. In: D.\u00a0Pearce, T.\u00a0Mayerhofer, F.\u00a0Steimann (eds.) Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018, Boston, MA, USA, Nov 05-06, 2018, pp. 47\u201359. ACM (2018). 10.1145\/3276604.3276622"},{"key":"772_CR12","doi-asserted-by":"crossref","unstructured":"Leduc, M., Degueule, T., Combemale, B., Van\u00a0der Storm, T., Barais, O.: Revisiting visitors for modular extension of executable dsmls. In: 2017 ACM\/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 112\u2013122. IEEE (2017)","DOI":"10.1109\/MODELS.2017.23"},{"issue":"9","key":"772_CR13","doi-asserted-by":"publisher","first-page":"2451","DOI":"10.1016\/j.jss.2013.04.087","volume":"86","author":"M Mernik","year":"2013","unstructured":"Mernik, M.: An object-oriented approach to language compositions for software language engineering. J. Syst. Softw. 86(9), 2451\u20132464 (2013). https:\/\/doi.org\/10.1016\/j.jss.2013.04.087","journal-title":"J. Syst. Softw."},{"key":"772_CR14","first-page":"269","volume-title":"Lecture Notes in Computer Science","author":"Bruno C. d. S. Oliveira","year":"2009","unstructured":"Oliveira, B.C.d.S.: Modular visitor components. In: European Conference on Object-Oriented Programming, pp. 269\u2013293. Springer, Berlin (2009)"},{"key":"772_CR15","unstructured":"d.\u00a0S.\u00a0Oliveira, B.C., Cook, W.R.: Extensibility for the masses - practical extensibility with object algebras. In: ECOOP 2012-Object-Oriented Programming: 26th European Conference, Beijing, China, June 11-16, 2012. Proceedings, pp. 2\u201327 (2012)"},{"key":"772_CR16","doi-asserted-by":"publisher","first-page":"123","DOI":"10.1007\/978-3-540-24851-4_6","volume-title":"ECOOP 2004-Object-Oriented Programming","author":"M Torgersen","year":"2004","unstructured":"Torgersen, M.: The expression problem revisited. In: Odersky, M. (ed.) ECOOP 2004-Object-Oriented Programming, pp. 123\u2013146. Springer, Berlin (2004)"},{"key":"772_CR17","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/j.cl.2015.02.001","volume":"43","author":"E Vacchi","year":"2015","unstructured":"Vacchi, E., Cazzola, W.: Neverlang: A framework for feature-oriented language development. Comput. Lang. Syst. Struct. 43, 1\u201340 (2015). https:\/\/doi.org\/10.1016\/j.cl.2015.02.001","journal-title":"Comput. Lang. Syst. Struct."},{"issue":"1\u20132","key":"772_CR18","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1016\/j.scico.2009.07.004","volume":"75","author":"E Van Wyk","year":"2010","unstructured":"Van Wyk, E., Bodin, D., Gao, J., Krishnan, L.: Silver: an extensible attribute grammar system. Sci. Comput. Program. 75(1\u20132), 39\u201354 (2010). https:\/\/doi.org\/10.1016\/j.scico.2009.07.004","journal-title":"Sci. Comput. Program."},{"key":"772_CR19","unstructured":"Voelter, M.: Language and IDE modularization and composition with MPS. In: Generative and Transformational Techniques in Software Engineering IV, International Summer School, GTTSE 2011, Braga, Portugal July 3-9, 2011. Revised Papers, pp. 383\u2013430 (2011). 10.1007\/978-3-642-35992-7\\_11"},{"issue":"5","key":"772_CR20","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1109\/MS.2014.100","volume":"31","author":"G Wachsmuth","year":"2014","unstructured":"Wachsmuth, G., Konat, G.D.P., Visser, E.: Language design with the spoofax language workbench. IEEE Softw. 31(5), 35\u201343 (2014). https:\/\/doi.org\/10.1109\/MS.2014.100","journal-title":"IEEE Softw."},{"key":"772_CR21","unstructured":"Wadler, P.: The expression problem (1998). http:\/\/homepages.inf.ed.ac.uk\/wadler\/papers\/expression\/expression.txt. Posted on the Java Genericity Mailing List, 12 Nov 1998"},{"key":"772_CR22","unstructured":"Zenger, M., Odersky, M.: Independently extensible solutions to the expression problem. Tech. rep. (2004)"},{"issue":"2","key":"772_CR23","first-page":"10:1","volume":"3","author":"W Zhang","year":"2017","unstructured":"Zhang, W., Oliveira, BCdS: EVF: an extensible and expressive visitor framework for programming language reuse (artifact). DARTS 3(2), 10:1\u201310:2 (2017)","journal-title":"DARTS"}],"container-title":["Software and Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-019-00772-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10270-019-00772-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-019-00772-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,2,13]],"date-time":"2021-02-13T20:13:13Z","timestamp":1613247193000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10270-019-00772-7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,12,21]]},"references-count":23,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,3]]}},"alternative-id":["772"],"URL":"https:\/\/doi.org\/10.1007\/s10270-019-00772-7","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"value":"1619-1366","type":"print"},{"value":"1619-1374","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,12,21]]},"assertion":[{"value":"5 September 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"3 November 2019","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"4 December 2019","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"21 December 2019","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}