1. 4

Abstract: “Extensible languages are programming languages which allow a user to modify or add syntax, and associate the new syntactic forms with semantics. What are these languages good for? What kinds of features are easy to add, and which are not? Are they powerful enough to be taken seriously? In this survey we will attempt to answer such questions as we consider procedural, object-oriented, functional, and general-purpose extensible languages. We are primarily interested in expressive power (regular, context-free), associated caveats (unhygienic, ambiguity) and ease of use of the various mechanisms.”

  1.  

  2. 2

    One of the their applications is bootstrapping:

    Implementing language X in a much harder, lower level language Y may be difficult. But if X is self extensible then the implementation is done with a bit less Y code and a bit more X code.

    1. 3

      That reminds me about Bootstrapping Site additions I needed to make. I added Bash Infinity since it contained things that might be useful for bootstrapping compilers via bash. I also added a previous submission near Wirth’s. Tannenbaum, mostly known for microkernels, uses a general-purpose, macro language to boostrap up a language they wrote OS’s with back in the 1970’s. The language itself, Sal, is interesting since it operate directly on memory forms like BCPL did. Going back to that style might be advantageous for assembly-up bootstrapping. Some prior bootstrappers did something similar with LISP’y languages designed just above assembly.

      1. 2

        he did not mention forth!