{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:42:12Z","timestamp":1750308132958,"version":"3.41.0"},"reference-count":10,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2006,5,1]],"date-time":"2006-05-01T00:00:00Z","timestamp":1146441600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["XRDS"],"published-print":{"date-parts":[[2006,5]]},"abstract":"<jats:p>Programming languages have a dual role in the construction of software. The language is both our substrate (the stuff we make software from), and our tool (what we use to construct software). Program transformation (PT) deals with the analysis, manipulation and generation of software. Therefore a close relationship exists between program transformation and programming languages, to the point where the PT field has produced many domain-specific languages for manipulating programs. In this article, I will show you some interesting aspects from one of these languages : Stratego.<\/jats:p>","DOI":"10.1145\/1144366.1144370","type":"journal-article","created":{"date-parts":[[2009,1,8]],"date-time":"2009-01-08T13:15:38Z","timestamp":1231420538000},"page":"4-4","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Stratego"],"prefix":"10.1145","volume":"12","author":[{"given":"Karl Trygve","family":"Kalleberg","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,5]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"1\n    Wikipedia entry. The software crisis]]  1 Wikipedia entry. The software crisis ]]"},{"key":"e_1_2_1_2_1","unstructured":"2\n    M. Bravenboer K.T. Kalleberg E. Visser. The Stratego\/XT Tutorial]]  2 M. Bravenboer K.T. Kalleberg E. Visser. The Stratego\/XT Tutorial ]]"},{"key":"e_1_2_1_3_1","unstructured":"3\n    Language-Oriented Programming refers to the pervasive use of domain-specific languages to solve well-defined complicated tasks in the style of Unix' \"little languages\" \".]]  3 Language-Oriented Programming refers to the pervasive use of domain-specific languages to solve well-defined complicated tasks in the style of Unix' \"little languages\" \".]]"},{"volume-title":"Proceedings of the Extensible Languages Symposium","year":"1969","author":"Carlos Christensen J","key":"e_1_2_1_4_1"},{"volume-title":"Proceedings of the International Symposium on Extensible Languages","year":"1971","author":"Stephen A.","key":"e_1_2_1_5_1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/356914.356917"},{"key":"e_1_2_1_7_1","unstructured":"7\n    FindBugs - http:\/\/findbugs.sourceforge.net]]  7 FindBugs - http:\/\/findbugs.sourceforge.net]]"},{"key":"e_1_2_1_8_1","unstructured":"8\n    PMD - http:\/\/pmd.sourceforge.net]]  8 PMD - http:\/\/pmd.sourceforge.net]]"},{"key":"e_1_2_1_9_1","first-page":"229","volume-title":"Proc. of the First Conf. on Domain Specific Languages","author":"Crew ASTLOG","year":"1997"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/645435.652697"}],"container-title":["XRDS: Crossroads, The ACM Magazine for Students"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1144366.1144370","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1144366.1144370","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:08:30Z","timestamp":1750262910000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1144366.1144370"}},"subtitle":["a programming language for program manipulation"],"short-title":[],"issued":{"date-parts":[[2006,5]]},"references-count":10,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2006,5]]}},"alternative-id":["10.1145\/1144366.1144370"],"URL":"https:\/\/doi.org\/10.1145\/1144366.1144370","relation":{},"ISSN":["1528-4972","1528-4980"],"issn-type":[{"type":"print","value":"1528-4972"},{"type":"electronic","value":"1528-4980"}],"subject":[],"published":{"date-parts":[[2006,5]]},"assertion":[{"value":"2006-05-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}