publications: - title: "Self: The Power of Simplicity" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" year: "1987" abstract: "Self is an object-oriented language for exploratory programming based on a small number of simple and concrete ideas: prototypes, slots, and behavior. Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languages. Slots unite variables and procedures into a single construct. This permits the inheritance hierarchy to take over the function of lexical scoping in conventional languages. Finally, because Self does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures. Self's simplicity and expressiveness offer new insights into object-oriented computation. " links: "sun": "http://research.sun.com/self/papers/self-power.html" "postscript": "http://research.sun.com/self/papers/selfPower.ps.gz" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "meta programming" - "Self" - "prototype" - "programming" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/UngarS87" cites: 0 citedby: 0 pages: "227-242" booktitle: "OOPSLA" kind: "inproceedings" key: "UngarS87" - title: "Super and inner: together at last!" author: - name: "David S. Goldberg" link: "https://researchr.org/alias/david-s.-goldberg" - name: "Robby Findler" link: "http://www.eecs.northwestern.edu/~robby/" - name: "Matthew Flatt" link: "http://www.cs.utah.edu/~mflatt/" year: "2004" doi: "http://doi.acm.org/10.1145/1028976.1028987" links: doi: "http://doi.acm.org/10.1145/1028976.1028987" researchr: "https://researchr.org/publication/GoldbergFF04" cites: 0 citedby: 0 pages: "116-129" booktitle: "Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004" editor: - name: "John M. Vlissides" link: "https://researchr.org/alias/john-m.-vlissides" - name: "Douglas C. Schmidt" link: "https://researchr.org/alias/douglas-c.-schmidt" address: "Vancouver, BC, Canada" publisher: "ACM" isbn: "1-58113-831-8" kind: "inproceedings" key: "GoldbergFF04" - title: "Programming as an Experience: The Inspiration for Self" author: - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1995" doi: "http://link.springer.de/link/service/series/0558/bibs/0952/09520303.htm" abstract: "The Self system attempts to integrate intellectual and non-intellectual aspects of programming to create an overall experience. The language semantics, user interface, and implementation each help create this integrated experience. The language semantics embed the programmer in a uniform world of simple ob jects that can be modified without appealing to definitions of abstractions. In a similar way, the graphical interface puts the user into a uniform world of tangible objects that can be directly manipulated and changed without switching modes. The implementation strives to support the world-of-objects illusion by minimiz ing perceptible pauses and by providing true source-level semantics without sac rificing performance. As a side benefit, it encourages factoring. Although we see areas that fall short of the vision, on the whole, the language, interface, and im plementation conspire so that the Self programmer lives and acts in a consistent and malleable world of objects. " links: doi: "http://link.springer.de/link/service/series/0558/bibs/0952/09520303.htm" "sun": "http://research.sun.com/self/papers/programming-as-experience.html" tags: - "programming languages" - "object-oriented programming" - "semantics" - "meta programming" - "Self" - "source-to-source" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "abstraction" - "Meta-Environment" - "feature-oriented programming" - "open-source" - "meta-objects" researchr: "https://researchr.org/publication/SmithU95" cites: 0 citedby: 0 pages: "303-330" booktitle: "ECOOP 95 - Object-Oriented Programming, 9th European Conference, Åarhus, Denmark, August 7-11, 1995, Proceedings" editor: - name: "Walter G. Olthoff" link: "https://researchr.org/alias/walter-g.-olthoff" volume: "952" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-60160-0" kind: "inproceedings" key: "SmithU95" - title: "Evaluation and usability of programming languages and tools (plateau)" author: - name: "Craig Anslow" link: "http://homepages.ecs.vuw.ac.nz/~craig/" - name: "Shane Markstrum" link: "http://www.eg.bucknell.edu/~sm053/" - name: "Emerson R. Murphy-Hill" link: "https://researchr.org/alias/emerson-r.-murphy-hill" year: "2009" doi: "http://doi.acm.org/10.1145/1639950.1640085" links: doi: "http://doi.acm.org/10.1145/1639950.1640085" tags: - "programming languages" - "programming" researchr: "https://researchr.org/publication/AnslowMM09" cites: 0 citedby: 0 pages: "1053-1054" booktitle: "Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA" editor: - name: "Shail Arora" link: "https://researchr.org/alias/shail-arora" - name: "Gary T. Leavens" link: "https://researchr.org/alias/gary-t.-leavens" publisher: "ACM" isbn: "978-1-60558-768-4" kind: "inproceedings" key: "AnslowMM09" - title: "Adding delimited and composable control to a production programming environment" author: - name: "Matthew Flatt" link: "http://www.cs.utah.edu/~mflatt/" - name: "Gang Yu" link: "https://researchr.org/alias/gang-yu" - name: "Robby Findler" link: "http://www.eecs.northwestern.edu/~robby/" - name: "Matthias Felleisen" link: "http://www.ccs.neu.edu/home/matthias/" year: "2007" doi: "http://doi.acm.org/10.1145/1291151.1291178" links: doi: "http://doi.acm.org/10.1145/1291151.1291178" tags: - "meta programming" - "meta-model" - "programming" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/FlattYFF07" cites: 0 citedby: 0 pages: "165-176" booktitle: "Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming, ICFP 2007, Freiburg, Germany, October 1-3, 2007" editor: - name: "Ralf Hinze" link: "https://researchr.org/alias/ralf-hinze" - name: "Norman Ramsey" link: "http://www.cs.tufts.edu/~nr/" publisher: "ACM" isbn: "978-1-59593-815-2" kind: "inproceedings" key: "FlattYFF07" - title: "Programming Languages as Operating Systems (or Revenge of the Son of the Lisp Machine)" author: - name: "Matthew Flatt" link: "http://www.cs.utah.edu/~mflatt/" - name: "Robby Findler" link: "http://www.eecs.northwestern.edu/~robby/" - name: "Shriram Krishnamurthi" link: "http://www.cs.brown.edu/~sk/" - name: "Matthias Felleisen" link: "http://www.ccs.neu.edu/home/matthias/" year: "1999" doi: "http://doi.acm.org/10.1145/317636.317793" links: doi: "http://doi.acm.org/10.1145/317636.317793" tags: - "programming languages" - "operating system" - "programming" researchr: "https://researchr.org/publication/FlattFKF99" cites: 0 citedby: 0 pages: "138-147" booktitle: "ICFP" kind: "inproceedings" key: "FlattFKF99" - title: "WebDSL: A Case Study in Domain-Specific Language Engineering" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_7" abstract: " The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boil- erplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a collection of guidelines, design patterns, and reusable DSL components that show developers how to tackle common language design and implementation issues. This paper presents a case study in domain-specific language engineering. It reports on a pro ject in which the author designed and built WebDSL, a DSL for web applications with a rich data model, using several DSLs for DSL engineering: SDF for syntax definition and Stratego/XT for code gener- ation. The paper follows the stages in the development of the DSL. The contributions of the paper are three-fold. (1) A tutorial in the application of the specific SDF and Stratego/XT technology for building DSLs. (2) A description of an incremental DSL development process. (3) A domain- specific language for web-applications with rich data models. The paper concludes with a survey of related approaches. " links: doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_7" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-023.pdf" "webdsl": "http://webdsl.org" "stratego/xt": "http://strategoxt.org" tags: - "WebDSL" - "reusable components" - "DSL engineering" - "web application development" - "data-flow language" - "pattern language" - "case study" - "software components" - "SDF" - "meta-model" - "abstract syntax" - "modeling language" - "Stratego/XT" - "language engineering" - "software language engineering" - "language modeling" - "software component" - "web engineering" - "language design" - "reuse" - "model-driven development" - "data-flow" - "survey" - "software engineering" - "model-driven engineering" - "web applications" - "DSL" - "Meta-Environment" - "incremental" - "design" - "process modeling" - "systematic-approach" - "ASF+SDF" - "language" - "Stratego" - "domain-specific language" researchr: "https://researchr.org/publication/Visser07" cites: 0 citedby: 9 pages: "291-373" booktitle: "Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007" editor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "João Saraiva" link: "http://di.uminho.pt/~jas" volume: "5235" series: "Lecture Notes in Computer Science" address: "Braga, Portugal" publisher: "Springer" isbn: "978-3-540-88642-6" kind: "inproceedings" key: "Visser07" - title: "A Theory of Hygienic Macros" author: - name: "David Herman" link: "http://calculist.org/" - name: "Mitchell Wand" link: "https://researchr.org/alias/mitchell-wand" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-78739-6_4" abstract: "Hygienic macro systems, such as Scheme’s, automatically rename variables to prevent unintentional variable capture—in short, they “just work.” Yet hygiene has never been formally presented as a specification rather than an algorithm. According to folklore, the definition of hygienic macro expansion hinges on the preservation of alpha-equivalence. But the only known notion of alpha-equivalence for programs with macros depends on the results of macro expansion! We break this circularity by introducing explicit binding specifications into the syntax of macro definitions, permitting a definition of alpha-equivalence independent of expansion. We define a semantics for a first-order subset of Scheme-like macros and prove hygiene as a consequence of confluence." links: doi: "http://dx.doi.org/10.1007/978-3-540-78739-6_4" tags: - "macros" - "Hygienic Macro" researchr: "https://researchr.org/publication/HermanW08" cites: 0 citedby: 0 pages: "48-62" booktitle: "Programming Languages and Systems, 17th European Symposium on Programming, ESOP 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings" editor: - name: "Sophia Drossopoulou" link: "https://researchr.org/alias/sophia-drossopoulou" volume: "4960" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-78738-9" kind: "inproceedings" key: "HermanW08" - title: "Domain specific language implementation via compile-time meta-programming" author: - name: "Laurence Tratt" link: "http://tratt.net/laurie/" year: "2008" doi: "http://doi.acm.org/10.1145/1391956.1391958" abstract: "Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable tool for software developers and non-developers alike. DSLs must currently be created in an ad-hoc fashion, often leading to high development costs and implementations of variable quality. In this article, I show how expressive DSLs can be hygienically embedded in the Converge programming language using its compile-time meta-programming facility, the concept of DSL blocks, and specialised error reporting techniques. By making use of pre-existing facilities, and following a simple methodology, DSL implementation costs can be significantly reduced whilst leading to higher quality DSL implementations." links: doi: "http://doi.acm.org/10.1145/1391956.1391958" tags: - "programming languages" - "meta programming" - "meta-model" - "embedded software" - "model-driven development" - "compiler" - "DSL" - "programming" - "Meta-Environment" - "extensible language" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/Tratt08-TOPLAS" cites: 0 citedby: 1 journal: "ACM Transactions on Programming Languages and Systems" volume: "30" number: "6" kind: "article" key: "Tratt08-TOPLAS" - title: "IMP: a meta-tooling platform for creating language-specific ides in eclipse" author: - name: "Philippe Charles" link: "https://researchr.org/alias/philippe-charles" - name: "Robert M. Fuhrer" link: "https://researchr.org/alias/robert-m.-fuhrer" - name: "Stanley M. Sutton Jr." link: "https://researchr.org/alias/stanley-m.-sutton-jr." year: "2007" doi: "http://doi.acm.org/10.1145/1321631.1321715" abstract: "Programming language design remains a vital field, with interest in languages targeting concurrency, scripting, and aspects, as well as in domain-specific languages. Full-featured integrated development environments (IDEs) have become critical to the adoption of new languages. A key factor in the success of these IDEs is the provision of services specifically tailored to the language. However, modern IDE frame-works are large and complex, and the cost of constructing a language-specific IDE from scratch remains prohibitive. IMP is an IDE meta-tooling platform intended to relieve much of the burden of IDE development in Eclipse. IMP combines a language-independent framework, generators for partial implementations of language-specific services, and support for the completion of service implementations by programming at various levels of abstraction. Unlike much of the previous work, IMP permits significant customization of IDE appearance and behavior and accommodates incremental elaboration of the IDE; it also makes significant reuse of code and assists during the IDE development process. IMP-based IDEs are in use in research projects in IBM, including within IMP itself. IMP is available as an open-source release from SourceForge.net. " links: doi: "http://doi.acm.org/10.1145/1321631.1321715" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "IMP" - "Eclipse" - "meta programming" - "meta-model" - "design research" - "language design" - "reuse" - "model-driven development" - "source-to-source" - "code completion" - "aspect oriented programming" - "DSL" - "programming" - "abstraction" - "Meta-Environment" - "incremental" - "design" - "feature-oriented programming" - "IDE" - "open-source" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/CharlesFS07" cites: 0 citedby: 1 pages: "485-488" booktitle: "22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), November 5-9, 2007, Atlanta, Georgia, USA" editor: - name: "R. E. Kurt Stirewalt" link: "https://researchr.org/alias/r.-e.-kurt-stirewalt" - name: "Alexander Egyed" link: "http://www.alexander-egyed.com/" - name: "Bernd Fischer" link: "http://www.ecs.soton.ac.uk/people/bf" publisher: "ACM" isbn: "978-1-59593-882-4 " kind: "inproceedings" key: "CharlesFS07" - title: "Scheme with Classes, Mixins, and Traits" author: - name: "Matthew Flatt" link: "http://www.cs.utah.edu/~mflatt/" - name: "Robby Findler" link: "http://www.eecs.northwestern.edu/~robby/" - name: "Matthias Felleisen" link: "http://www.ccs.neu.edu/home/matthias/" year: "2006" doi: "http://dx.doi.org/10.1007/11924661_17" links: doi: "http://dx.doi.org/10.1007/11924661_17" researchr: "https://researchr.org/publication/FlattFF06" cites: 0 citedby: 0 pages: "270-289" booktitle: "Programming Languages and Systems, 4th Asian Symposium, APLAS 2006, Sydney, Australia, November 8-10, 2006, Proceedings" editor: - name: "Naoki Kobayashi" link: "https://researchr.org/alias/naoki-kobayashi" volume: "4279" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-48937-1" kind: "inproceedings" key: "FlattFF06" - title: "The SELF 4.1 Programmer's Reference Manual" author: - name: "Ole Agesen" link: "https://researchr.org/alias/ole-agesen" - name: "Lars Bak" link: "https://researchr.org/alias/lars-bak" - name: "Chraig Chambers" link: "https://researchr.org/alias/chraig-chambers" - name: "Bay-Wei Chang" link: "https://researchr.org/alias/bay-wei-chang" year: "2000" doi: "http://research.sun.com/self/release_4.0/Self-4.0/manuals/Self-4.1-Pgmers-Ref.pdf" links: doi: "http://research.sun.com/self/release_4.0/Self-4.0/manuals/Self-4.1-Pgmers-Ref.pdf" "self": "http://research.sun.com/self/" tags: - "Self" researchr: "https://researchr.org/publication/SELF4.1" cites: 0 citedby: 0 organization: "SUN" kind: "manual" key: "SELF4.1" - title: "Self" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" year: "2007" doi: "http://doi.acm.org/10.1145/1238844.1238853" links: doi: "http://doi.acm.org/10.1145/1238844.1238853" tags: - "programming languages" - "history of programming languages" - "Self" - "HOPL" - "history" researchr: "https://researchr.org/publication/UngarS07" cites: 0 citedby: 0 pages: "1-50" booktitle: "Proceedings of the Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III), San Diego, California, USA, 9-10 June 2007" editor: - name: "Barbara G. Ryder" link: "https://researchr.org/alias/barbara-g.-ryder" - name: "Brent Hailpern" link: "https://researchr.org/alias/brent-hailpern" publisher: "ACM" kind: "inproceedings" key: "UngarS07" - title: "Boo Language Guide" doi: "http://boo.codehaus.org/Language+Guide" links: doi: "http://boo.codehaus.org/Language+Guide" tags: - "Boo" - "extensible language" researchr: "https://researchr.org/publication/boo-language-guide" cites: 0 citedby: 0 howpublished: "\\url{http://boo.codehaus.org/Language+Guide}" kind: "misc" key: "boo-language-guide" - title: "ScalaQL: Language-Integrated Database Queries for Scala" author: - name: "Daniel Spiewak" link: "http://www.cs.uwm.edu/~dspiewak/" - name: "Tian Zhao" link: "http://jiangxi.cs.uwm.edu/" year: "2009" abstract: "One of the most ubiquitous elements of modern computing is the relational database. Very few modern applications are created without some sort of database backend. Unfortunately, relational database concepts are fundamentally very different from those used in general-purpose programming languages. This creates an impedance mismatch between the the application and the database layers. One solution to this problem which has been gaining traction in the .NET family of languages is Language-Integrated Queries (LINQ). That is, the embedding of database queries within application code in a way that is statically checked and type safe. Unfortunately, certain language changes or core design elements were necessary to make this embedding possible. We present a framework which implements this concept of type safe embedded queries in Scala without any modifications to the language itself. The entire framework is implemented by leveraging existing language features (particularly for-comprehensions)." tags: - "programming languages" - "program comprehension" - "Scala" - "application framework" - "relational database" - "language design" - "programming" - "database" - "design" - "query language" researchr: "https://researchr.org/publication/Spiewak%3A2009" cites: 0 citedby: 0 booktitle: "Software Language Engineering, Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers" editor: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Jeffrey G. Gray" link: "http://www.gray-area.org/" series: "Lecture Notes in Computer Science" publisher: "Springer" kind: "inproceedings" key: "Spiewak:2009" - title: "Hygienic Macro Expansion" author: - name: "Eugene E. Kohlbecker" link: "https://researchr.org/alias/eugene-e.-kohlbecker" - name: "Daniel P. Friedman" link: "https://researchr.org/alias/daniel-p.-friedman" - name: "Matthias Felleisen" link: "http://www.ccs.neu.edu/home/matthias/" - name: "Bruce F. Duba" link: "https://researchr.org/alias/bruce-f.-duba" year: "1986" doi: "http://delivery.acm.org/10.1145/320000/319859/p151-kohlbecker.pdf?key1=319859&key2=7573098711&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618" links: doi: "http://delivery.acm.org/10.1145/320000/319859/p151-kohlbecker.pdf?key1=319859&key2=7573098711&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618" tags: - "macros" - "e-science" - "Hygienic Macro" researchr: "https://researchr.org/publication/KohlbeckerFFD86" cites: 0 citedby: 0 pages: "151-161" booktitle: "LISP and Functional Programming" kind: "inproceedings" key: "KohlbeckerFFD86" - title: "Extensible syntax with lexical scoping" author: - name: "Luca Cardelli" link: "http://lucacardelli.name" - name: "Florian Matthes" link: "https://researchr.org/alias/florian-matthes" - name: "Martín Abadi" link: "https://researchr.org/alias/mart%C3%ADn-abadi" year: "1994" month: "February" doi: "http://lucacardelli.name/Papers/SRC-121.ps" abstract: "A frequent dilemma in programming language design is the choice between a language with a rich set of notations and a small simple core language. We address this dilemma by proposing extensible grammars, a syntax definition formalism for incremental language extensions and restrictions. The translation of programs written in rich object languages into a small core language is defined via syntax-directed patterns. In contrast to macro- expansion and program-rewriting tools, our extensible grammars respect scoping rules. Therefore, we can introduce binding constructs while avoiding problems with unwanted name clashes. We develop extensible grammars and illustrate their use by extending the lambda calculus with let-bindings conditionals and constructs from database programming languages, such as SQL query expressions. We then give a formal description of the underlying rules for parsing transformation and substitution Finally, we sketch how these rules are exploited in an implementation of a generic, extensible parser package." links: doi: "http://lucacardelli.name/Papers/SRC-121.ps" "cardelli's papers": "http://lucacardelli.name/indexPapers.html" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "translation" - "syntax definition" - "meta programming" - "pattern language" - "generic programming" - "lexical syntax" - "graph transformation" - "graph query" - "SQL" - "extensible grammar" - "transformation language" - "language design" - "macros" - "graph-rewriting" - "rules" - "programming" - "subject-oriented programming" - "database" - "Meta-Environment" - "rewriting" - "parsing" - "incremental" - "design" - "extensible language" - "feature-oriented programming" - "meta-objects" - "transformation" - "grammar" - "query language" - "program transformation" researchr: "https://researchr.org/publication/CardelliMA94" cites: 0 citedby: 1 institution: "Digital Equipment Corporation Systems Research Center" type: "SRC Research Report" number: "121" kind: "techreport" key: "CardelliMA94" - title: "Language Boxes: Bending the Host Language with Modular Language Changes" author: - name: "Lukas Renggli" link: "http://www.lukas-renggli.ch/" - name: "Marcus Denker" link: "https://researchr.org/alias/marcus-denker" - name: "Oscar Nierstrasz" link: "http://scg.unibe.ch/staff/oscar" year: "2009" abstract: "As domain-specific modeling begins to attract widespread acceptance, pressure is increasing for the development of new domain-specific languages. Unfortunately these DSLs typically conflict with the grammar of the host language, making it difficult to compose hybrid code except at the level of strings; few mechanisms (if any) exist to control the scope of usage of multiple DSLs; and, most seriously, existing host language tools are typically unaware of the DSL extensions, thus hampering the development process. Language boxes address these issues by offering a simple, modular mechanism to encapsulate (i) compositional changes to the host language, (ii) transformations to address various concerns such as compilation and highlighting, and (iii) scoping rules to control visibility of language extensions. We describe the design and implementation of language boxes, and show with the help of several examples how modular extensions can be introduced to a host language and environment." note: "To Appear" links: "pdf": "http://scg.unibe.ch/archive/papers/Reng09cLanguageBoxes.pdf" tags: - "model-to-model transformation" - "rule-based" - "meta-model" - "modeling language" - "modeling" - "transformation language" - "language modeling" - "composition" - "language design" - "model-driven development" - "source-to-source" - "rules" - "model transformation" - "DSL" - "Meta-Environment" - "design" - "process modeling" - "transformation" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/Reng09c" cites: 27 citedby: 2 booktitle: "Software Language Engineering: Second International Conference, SLE 2009, Denver, Colorado, October 5-6, 2009" series: "LNCS" publisher: "Springer" kind: "inproceedings" key: "Reng09c" - title: "Kill-safe synchronization abstractions" author: - name: "Matthew Flatt" link: "http://www.cs.utah.edu/~mflatt/" - name: "Robby Findler" link: "http://www.eecs.northwestern.edu/~robby/" year: "2004" doi: "http://doi.acm.org/10.1145/996841.996849" links: doi: "http://doi.acm.org/10.1145/996841.996849" tags: - "synchronization" - "abstraction" researchr: "https://researchr.org/publication/FlattF04" cites: 0 citedby: 0 pages: "47-58" booktitle: "Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation 2004, Washington, DC, USA, June 9-11, 2004" editor: - name: "William Pugh" link: "https://researchr.org/alias/william-pugh" - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" publisher: "ACM" isbn: "1-58113-807-5" kind: "inproceedings" key: "FlattF04" - title: "Design Patterns and Language Design" author: - name: "Joseph Gil" link: "https://researchr.org/alias/joseph-gil" - name: "David H. Lorenz" link: "https://researchr.org/alias/david-h.-lorenz" year: "1998" tags: - "pattern language" - "language design" - "design" researchr: "https://researchr.org/publication/GilL98" cites: 0 citedby: 0 journal: "IEEE Computer" volume: "31" number: "3" pages: "118-120" kind: "article" key: "GilL98" - title: "Extensibility in programming language design" author: - name: "Thomas A. Standish" link: "https://researchr.org/alias/thomas-a.-standish" year: "1975" doi: "http://doi.acm.org/10.1145/1499949.1500003" abstract: "What is extensibility? What is it good for, if anything? Is it worth bothering about when designing a programming language?" links: doi: "http://doi.acm.org/10.1145/1499949.1500003" tags: - "programming languages" - "language design" - "programming" - "design" - "extensible language" researchr: "https://researchr.org/publication/Standish75" cites: 0 citedby: 0 pages: "287-290" booktitle: "American Federation of Information Processing Societies: 1975 National Computer Conference, 19-22 May 1975, Anaheim, CA, USA" volume: "44" series: "AFIPS Conference Proceedings" publisher: "AFIPS Press" kind: "inproceedings" key: "Standish75" - title: "ROBOT_S: An interactive robot simulation language" author: - name: "S. R. O Neill" link: "https://researchr.org/alias/s.-r.-o-neill" - name: "Mohammad Jamshidi" link: "https://researchr.org/alias/mohammad-jamshidi" year: "1988" doi: "http://dx.doi.org/10.1016/0921-8890(88)90032-2" abstract: "While it may not be practical to realize a tentative robot design as an actual robot, there is no question of the practicality of a simulation, ROBOT_S is a program in which the foundation for a comprehensive simulation environment is laid. A graphical robot is created to which physical attributes may be assigned, and whose movement may be dictated by a user-installed dynamic model and control law. A simple robot command language has been developed, by which the manipulator may be commanded to move, during which simulation data of state variables is collected and graphed." links: doi: "http://dx.doi.org/10.1016/0921-8890(88)90032-2" tags: - "programming languages" - "meta programming" - "data-flow language" - "robot simulation" - "meta-model" - "modeling language" - "language modeling" - "language design" - "robotics" - "data-flow programming" - "data-flow" - "graph-rewriting" - "Meta-Environment" - "rewriting" - "design" researchr: "https://researchr.org/publication/ONeillJ88" cites: 0 citedby: 0 journal: "Robotics and Autonomous Systems" volume: "4" number: "3" pages: "245-256" kind: "article" key: "ONeillJ88" - title: "Designing Syntax Embeddings and Assimilations for Language Libraries" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-69073-3_5" abstract: "Language libraries extend regular libraries with domain-specific notation. More precisely, a language library is a combination of a domain-specific language embedded in the general-purpose host language, a regular library implementing the underlying functionality, and an assimilation transformation that maps embedded DSL fragments to host language code. While the basic architecture for realizing language libraries is the same for all applications, there are many design choices to be made in the design of a particular combination of library, guest language syntax, host language, and assimilation. In this paper, we give an overview of the design space for syntax embeddings and assimilations for the realization of language libraries. " links: doi: "http://dx.doi.org/10.1007/978-3-540-69073-3_5" technicalreport: "https://researchr.org/publication/TUD-SERG-2008-042" tags: - "syntax embedding" - "syntax definition" - "assimilation" - "transformation language" - "architecture" - "language design" - "DSL" - "language libraries" - "design" - "transformation" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerV07" cites: 24 citedby: 1 pages: "34-46" booktitle: "Models in Software Engineering, Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers" editor: - name: "Holger Giese" link: "https://researchr.org/alias/holger-giese" volume: "5002" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-69069-6" kind: "inproceedings" key: "BravenboerV07" - title: "Designing language-oriented programming languages" author: - name: "Rosenan, Boaz" link: "https://researchr.org/alias/rosenan%2C-boaz" year: "2010" doi: "http://doi.acm.org/10.1145/1869542.1869576" abstract: "Today, language-oriented programming (LOP) is realized by using either language workbenches or internal DSLs, each with their own advantages and disadvantages. In this work, we design a host language for DSLs with language workbench features, thereby combining the two approaches and enjoying the best of both worlds." links: doi: "http://doi.acm.org/10.1145/1869542.1869576" tags: - "programming languages" - "workbench" - "object-oriented programming" - "language-oriented programming" - "language design" - "DSL" - "programming" - "subject-oriented programming" - "language workbench" - "design" - "systematic-approach" - "feature-oriented programming" - "domain-specific language" researchr: "https://researchr.org/publication/1869576" cites: 0 citedby: 0 booktitle: "SPLASH '10: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion" address: "New York, NY, USA" publisher: "ACM" isbn: "978-1-4503-0240-1" kind: "inproceedings" key: "1869576" - title: "Semantic Casts: Contracts and Structural Subtyping in a Nominal World" author: - name: "Robby Findler" link: "http://www.eecs.northwestern.edu/~robby/" - name: "Matthew Flatt" link: "http://www.cs.utah.edu/~mflatt/" - name: "Matthias Felleisen" link: "http://www.ccs.neu.edu/home/matthias/" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3086&spage=364" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3086&spage=364" tags: - "contracts" - "subtyping" researchr: "https://researchr.org/publication/FindlerFF04" cites: 0 citedby: 0 pages: "364-388" booktitle: "ECOOP 2004 - Object-Oriented Programming, 18th European Conference, Oslo, Norway, June 14-18, 2004, Proceedings" editor: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" volume: "3086" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-22159-X" kind: "inproceedings" key: "FindlerFF04"