Extensible programming languages allow users to create fundamentally new syntax and translate this syntax into language primitives. The concept of compile-time meta-programming has been around for decades, but systems that provide such abilities generally disallow the creation of new syntactic forms, or have heavy restrictions on how, or where, this may be done. Genesis is an extension to Java that supports compile-time meta-programming by allowing users to create their own arbitrary syntax. This is achieved through macros that operate on a mix of both concrete and abstract syntax, and produce abstract syntax. Genesis attempts to provide a minimal design whilst maintaining, and extending, the expressive power of other similar macro systems...
In the modern era of embedded domain-specific languages (DSLs) and language-oriented programming, tw...
The XMF system is based on a bespoke language that includes some features that are key to Language O...
technical reportWe have designed and implemented Maya, a version of Java that allows programmers to ...
Extensible programming languages allow users to create fundamentally new syntax and translate this s...
This thesis describes Genesis, a new language used for the expression and generation of synthetic pr...
Associated research group: Minnesota Extensible Language ToolsWe show how new syntactic forms and st...
Extensible languages are programming languages that allow a user to modify or add syntax, and associ...
We have designed and implemented Maya, a version of Java that allows programmers to extend and reint...
This paper introduces a flexible parser that is capable of parsing any context-free grammars � eve...
We provide an implementation of a Haskell subset embedded within the Java programming language. The ...
Extensible programming languages such as SugarJ or Racket enable programmers to introduce customary ...
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Compute...
Abstract: MetaJ is a programming environment that supports metaprogramming in the Java language. The...
Extensible programming languages such as SugarJ or Racket en-able programmers to introduce customary...
Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the pu...
In the modern era of embedded domain-specific languages (DSLs) and language-oriented programming, tw...
The XMF system is based on a bespoke language that includes some features that are key to Language O...
technical reportWe have designed and implemented Maya, a version of Java that allows programmers to ...
Extensible programming languages allow users to create fundamentally new syntax and translate this s...
This thesis describes Genesis, a new language used for the expression and generation of synthetic pr...
Associated research group: Minnesota Extensible Language ToolsWe show how new syntactic forms and st...
Extensible languages are programming languages that allow a user to modify or add syntax, and associ...
We have designed and implemented Maya, a version of Java that allows programmers to extend and reint...
This paper introduces a flexible parser that is capable of parsing any context-free grammars � eve...
We provide an implementation of a Haskell subset embedded within the Java programming language. The ...
Extensible programming languages such as SugarJ or Racket enable programmers to introduce customary ...
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Compute...
Abstract: MetaJ is a programming environment that supports metaprogramming in the Java language. The...
Extensible programming languages such as SugarJ or Racket en-able programmers to introduce customary...
Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the pu...
In the modern era of embedded domain-specific languages (DSLs) and language-oriented programming, tw...
The XMF system is based on a bespoke language that includes some features that are key to Language O...
technical reportWe have designed and implemented Maya, a version of Java that allows programmers to ...