Garbage collection in an uncooperative environment
Software—Practice & Experience
A survey of adaptable grammars
ACM SIGPLAN Notices
Programming in Dylan
Implicit parameters: dynamic scoping with static types
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Java syntactic extender (JSE)
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Macros as multi-stage computations: type-safe, generative, binding macros in MacroML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Maya: multiple-dispatch syntax extension in Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Programming in PROLOG
Common Lisp: The Language
Implicit and dynamic parameters in c++
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Extending Erlang by utilising RefactorErl
Proceedings of the twelfth ACM SIGPLAN workshop on Erlang
Hi-index | 0.00 |
Even though extensible programming languages have been around for decades, they have not received much attention so far. To obtain a more attractive solution, where extending the language is almost as easy as writing normal programs, extensibility should not be provided as a separate add-on, but rather as the very heart of the language. Furthermore, syntactic flexibility should not only allow to extend, but also to completely change the syntax when desired. MOSTflexiPL follows this approach by allowing users to define new operators, control structures, type constructors, and even declaration forms almost as easily as functions without sacrificing static type safety. This is achieved by encoding all constructs as generalized operators possessing any number of names and operands in an arbitrary order, where users have full control over associativity, precedence, and even scoping rules. Even though the language is still under development, there is a working compiler that translates MOSTflexiPL programs to equivalent C++ code.