ABSTRACT
Current programming languages and techniques realize many features which allow their users to extend these languages on a semantic basis: classes, functions, interfaces, aspects and other entities can be defined. However, there is a lack of modern programming languages which are both semantically and syntactically extensible from within the language itself, i.e., with no additional tool or meta-language. In this paper we present π as an approach that aims to overcome this lack. π provides an abstraction mechanism based on parameterized symbols which is capable of semantically and syntactically unifying programming concepts like variables, control-structures, procedures and functions into one concept: the pattern. We have evaluated the abstraction potential and the syntactic extensibility of π by successfully creating patterns for the aforementioned programming concepts. π could serve as a tool for designing new experimental languages and might generally influence the view we have on current programming concepts.
- Eric Allen et al. Growing a Syntax Sun Microsystems, FOOL, 2009Google Scholar
- John Aycock, R. Nigel Horspool Practical Earley Parsing University of Calgary, University of Victoria, Canada, The Computer Journal, Volume 45, Number 6, 2002Google Scholar
- Jonathan Bachrach, Massachussetts Institute of Technology The Java Syntactic Extender (JSE) Keith Playford, Functional Objects, Inc., OOPSLA, 2001 Google Scholar
Digital Library
- Jonathan Bachrach D-Expressions: Lisp Power, Dylan Style Massachusetts Institute of Technology, USA, Keith Playford, Functional Objects Inc., Somerville, USAGoogle Scholar
- Don Batory, Bernie Lofaso, Yannis Smaragdakis JTS: Tools for Implementing Domain-Specific Languages The University of Texas at Austin, ICSR, 1998-06 Google Scholar
Digital Library
- <Bigwig> http://www.brics.dk/bigwig, 2009-01-22Google Scholar
- Claus Brabrand, Michael I. Schwartzbach Growing Languages with Metamorphic Syntax Macros, PEPM, 2002 Google Scholar
Digital Library
- Gilad Bracha Executable Grammars in Newspeak Cadence Design Systems, San Jose, California, USA, ENTCS, Volume 193, Pages 3--18, 2007-11 Google Scholar
Digital Library
- Martin Bravenboer, Eelco Visser Concrete Syntax for Objects Universiteit Utrecht, The Netherlands, OOPSLA, 2004Google Scholar
- Boris Burshteyn Generation and Recognition of Formal Languages by Modifiable Grammars ACM SIGPLAN Notices, Volume 25, Number 12, Pages 45--53, 1990-12 Google Scholar
Digital Library
- Boris Burshteyn USSA--Universal Syntax and Semantics Analyzer ACM SIGPLAN Notices, Volume 27, Number 1, Pages 42--60, 1992-01 Google Scholar
Digital Library
- Alfonso Caracciolo di Forino Some Remarks on the Syntax of Symbolic Programming Languages Communication of the ACM, Volume 6, Number 8, Pages 456--460, 1963-08 Google Scholar
Digital Library
- TE. Cheatham The introduction of definitional facilities into higher level programming languages AFIPS, 1966-11 Google Scholar
Digital Library
- Henning Christiansen A Survey of Adaptable Grammars Roskilde University Centre, SIGPLAN Notices, volume 25 number 11, pages 33--44, 1990-11 Google Scholar
Digital Library
- Tony Clark Beyond Annotations: A Proposal for Extensible Java (XJ) Thames Valley University, United Kingdom, Paul Sammut, James Willans, Cetava Inc.Google Scholar
- Christopher Diggins Superlanguages: Syntactic and Semantic Supersets of other Languages 2008-03-12Google Scholar
- Torbjörn Ekman, Görel Hedin The JastAdd Extensible Java Compiler OOPSLA, 2007-10 Google Scholar
Digital Library
- Bryan Ford Parsing Expression Grammars: A Recognition Based Syntactic Foundation POPL, 2004-01 Google Scholar
Digital Library
- The Fortress Language Specification Sun Microsystems Inc., 2007Google Scholar
- Isabelle http://www.cl.cam.ac.uk/research/hvg/Isabelle 2009-03-16Google Scholar
- JastAdd http://jastadd.org, 2009-02-25Google Scholar
- Tony Clark, Paul Sammut, James Willans Superlanguages -- Developing Languages and Applications with XMF Ceteva Inc., 2008Google Scholar
- Christopher Graham Seaton A Programming Language Where the Syntax and Semantics Are Mutable at Runtime Master's Thesis, University of Bristol, United Kingdom, 2007-05.Google Scholar
- Bent Brrun Kristensen et al. Abstraction mechanisms in the BETA programming language Aalborg University Center, Aalborg, Denmark, POPL, 1983 Google Scholar
Digital Library
- Logix http://www.livelogix.com/logix, 2009-03-02Google Scholar
- Rats! -- An Easily Extensible Parser Generator http://www.cs.nyu.edu/rgrimm/xtc/rats.html, 2009-02-27Google Scholar
- Tim Sheard, Zino Benalssa, Matthleu Martel Introduction to multistage Programming Using MetaML Pacific Software Research Center, Oregon Graduate Institute of Science and Technology, 2000-02Google Scholar
- Walid Taha A Gentle Introduction to Multi-stage Programming Rice University, Houston, Texas, USA, DSPG, 2003Google Scholar
- Walid Taha A Gentle Introduction to Multi-stage Programming, Part II Rice University, Houston, USA, GTTSE, 2007Google Scholar
- Valentin F. Turchin et al. (English: The Language REFAL and its Application in the Automation of Programming) Inter-University Conference on the Automation of Programming of Economical Calculations, Moscow, 1967Google Scholar
- Markus Völter Architecture as Language: A story InfoQ, 2009-01-28Google Scholar
- M. P. Ward Language Oriented Programming Computer Science Department, Durham, 2003-01Google Scholar
- Alessandro Warth OMeta: an Object-Oriented Language for Pattern Matching University of California, Los Angeles, USA, Ian Piumarta, Viewpoints Research Institute, Glendale, California, USA, Dynamic Languages Symposium, OOPSLA, 2007-10 Google Scholar
Digital Library
- Daniel Weise, Roger Crew Programmable Syntax Macros Microsoft Research Laboratory, PLDI, 1993 Google Scholar
Digital Library
- XLR: Extensible Language and Runtime http://xlr.sourceforge.net/concept/XL.html, 2009-02-19Google Scholar
Index Terms
π: a pattern language
Recommendations
π: a pattern language
OOPSLA '09Current programming languages and techniques realize many features which allow their users to extend these languages on a semantic basis: classes, functions, interfaces, aspects and other entities can be defined. However, there is a lack of modern ...
Layout-sensitive language extensibility with SugarHaskell
Haskell '12: Proceedings of the 2012 Haskell SymposiumProgrammers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Layout-sensitive language extensibility with SugarHaskell
Haskell '12Programmers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...









Comments