|
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Eric Allen et al. Growing a Syntax Sun Microsystems, FOOL, 2009
|
| |
2
|
John Aycock, R. Nigel Horspool Practical Earley Parsing University of Calgary, University of Victoria, Canada, The Computer Journal, Volume 45, Number 6, 2002
|
| |
3
|
Jonathan Bachrach, Massachussetts Institute of Technology The Java Syntactic Extender (JSE) Keith Playford, Functional Objects, Inc., OOPSLA, 2001
|
| |
4
|
Jonathan Bachrach D-Expressions: Lisp Power, Dylan Style Massachusetts Institute of Technology, USA, Keith Playford, Functional Objects Inc., Somerville, USA
|
| |
5
|
Don Batory, Bernie Lofaso, Yannis Smaragdakis JTS: Tools for Implementing Domain-Specific Languages The University of Texas at Austin, ICSR, 1998-06
|
| |
6
|
<Bigwig> http://www.brics.dk/bigwig, 2009-01-22
|
| |
7
|
Claus Brabrand, Michael I. Schwartzbach Growing Languages with Metamorphic Syntax Macros, PEPM, 2002
|
| |
8
|
Gilad Bracha Executable Grammars in Newspeak Cadence Design Systems, San Jose, California, USA, ENTCS, Volume 193, Pages 3--18, 2007-11
|
| |
9
|
Martin Bravenboer, Eelco Visser Concrete Syntax for Objects Universiteit Utrecht, The Netherlands, OOPSLA, 2004
|
| |
10
|
Boris Burshteyn Generation and Recognition of Formal Languages by Modifiable Grammars ACM SIGPLAN Notices, Volume 25, Number 12, Pages 45--53, 1990-12
|
| |
11
|
Boris Burshteyn USSA--Universal Syntax and Semantics Analyzer ACM SIGPLAN Notices, Volume 27, Number 1, Pages 42--60, 1992-01
|
| |
12
|
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
|
| |
13
|
TE. Cheatham The introduction of definitional facilities into higher level programming languages AFIPS, 1966-11
|
| |
14
|
Henning Christiansen A Survey of Adaptable Grammars Roskilde University Centre, SIGPLAN Notices, volume 25 number 11, pages 33--44, 1990-11
|
| |
15
|
Tony Clark Beyond Annotations: A Proposal for Extensible Java (XJ) Thames Valley University, United Kingdom, Paul Sammut, James Willans, Cetava Inc.
|
| |
16
|
Christopher Diggins Superlanguages: Syntactic and Semantic Supersets of other Languages 2008-03-12
|
| |
17
|
Torbjörn Ekman, Görel Hedin The JastAdd Extensible Java Compiler OOPSLA, 2007-10
|
| |
18
|
Bryan Ford Parsing Expression Grammars: A Recognition Based Syntactic Foundation POPL, 2004-01
|
| |
19
|
The Fortress Language Specification Sun Microsystems Inc., 2007
|
| |
20
|
Isabelle http://www.cl.cam.ac.uk/research/hvg/Isabelle 2009-03-16
|
| |
21
|
JastAdd http://jastadd.org, 2009-02-25
|
| |
22
|
Tony Clark, Paul Sammut, James Willans Superlanguages -- Developing Languages and Applications with XMF Ceteva Inc., 2008
|
| |
23
|
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.
|
| |
24
|
Bent Brrun Kristensen et al. Abstraction mechanisms in the BETA programming language Aalborg University Center, Aalborg, Denmark, POPL, 1983
|
| |
25
|
Logix http://www.livelogix.com/logix, 2009-03-02
|
| |
26
|
Rats! -- An Easily Extensible Parser Generator http://www.cs.nyu.edu/rgrimm/xtc/rats.html, 2009-02-27
|
| |
27
|
Tim Sheard, Zino Benalssa, Matthleu Martel Introduction to multistage Programming Using MetaML Pacific Software Research Center, Oregon Graduate Institute of Science and Technology, 2000-02
|
| |
28
|
Walid Taha A Gentle Introduction to Multi-stage Programming Rice University, Houston, Texas, USA, DSPG, 2003
|
| |
29
|
Walid Taha A Gentle Introduction to Multi-stage Programming, Part II Rice University, Houston, USA, GTTSE, 2007
|
| |
30
|
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, 1967
|
| |
31
|
Markus Völter Architecture as Language: A story InfoQ, 2009-01-28
|
| |
32
|
M. P. Ward Language Oriented Programming Computer Science Department, Durham, 2003-01
|
| |
33
|
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
|
| |
34
|
Daniel Weise, Roger Crew Programmable Syntax Macros Microsoft Research Laboratory, PLDI, 1993
|
| |
35
|
XLR: Extensible Language and Runtime http://xlr.sourceforge.net/concept/XL.html, 2009-02-19
|
|