Extensibility in programming language design

@inproceedings{Standish1975ExtensibilityIP,
  title={Extensibility in programming language design},
  author={Thomas A. Standish},
  booktitle={AFIPS '75},
  year={1975}
}
  • T. Standish
  • Published in AFIPS '75 19 May 1975
  • Computer Science
What is extensibility? What is it good for, if anything? Is it worth bothering about when designing a programming language? 

Extensible language

An extensible (programming) language allows the user to enrich the language by introducing new features or by modifying existing ones by making them to resemble the built-in language constructs.

Design and Specification of the CoreASM Execution Engine

The general architecture of the engine is presented, together with a high-level description of the extensibility mechanisms that are used by the engine to accommodate arbitrary backgrounds, scheduling policies, and new rule forms.

Why Functional Programming Really Matters

The significance of functional programming is revealed as that the feasible approach to language extensibility which it enables is further applicable to programming in general and beyond. The essence

TXL: a rapid prototyping system for programming language dialects

A rapid prototyping system for extensions to an existing programming language is described that consists of a dialect description language used to specify the syntax and semantics of extensions and a context-sensitive syntactic transducer that automatically implements the extensions by transforming source programs written using them to equivalent programs in the original unextended language.

A Proposal for a Generalized "FOR" Statement

Extending LR Parsing to Implement Rewriting Semantics in Extensible Programming Languages

This chapter presents a complete and operational set of implementation steps and the precise alterations to the LR parsing algorithm that are needed in order to create an extensible programming language.

A graded bibliography on macro systems and extensible languages

The segment treated, by no means exhaustively, deals with the spectrum of user-specializable programming systems from macro systems to extensible languages, and literature on the very general processor building and compiler compiler systems is omitted.

Why functional languages really need parallelism

A straight-forward extension exercise shows that mere "functional" languages ultimately capitalise rather than promise, that certain functionality is beyond their effective expressiveness.

Introduction to the Galaxy language

The concepts on which Galaxy is based are discussed, and its constructs are examined, and the nontraditional compiler-implementation techniques necessitated by the separation of syntax and semantics in Galaxy are considered.

Design and operation of extensible software

This paper is an attempt at a description and analysis of the definitions of a general model for the construction of extensible tools of programming, and general schemes of algorithms of components ofextensible programming systems are presented.
...

References

SHOWING 1-10 OF 35 REFERENCES

Experience with an extensible language

An operational extensible language system is described. The system and its base language are appraised with respect to efficiency, flexibility, and utility for different categories of users.

Macro instruction extensions of compiler languages

Conditional assembly, nested definitions, and parenthetical notation serve to make a compiler capable of accepting very general extensions to its ground language.

Extensible control structures

Control extensions are experiments with a third axis of extensibility - the introduction of non-standard control structures into programming languages.

Revised report on the algorithmic language ALGOL 68

The report gives a complete defining description of the international algorithmic language Algol 60. This is a language suitable for expressing a large class of numerical processes in a form suitably

Control structures for programming languages

This dissertation attempts to demonstrate the thesis: complexity diminishes and clarity increases to a marked degree if algorithms are described in a language in which appropriate control structures are primitive or easily expressible.

Syntax macros and extended translation

A translation approach is described which allows one to extend the syntax and semantics of a given high-level base language by the use of a new formalism called a syntax-macro. Syntax-macros define

LISP 1.5 Programmer's Manual

The LISP language is designed primarily for symbolic data processing used for symbolic calculations in differential and integral calculus, electrical circuit theory, mathematical logic, game playing,

A proposal for definitions in ALGOL

An extension to ALGOL is proposed for adding new data types and operators to the language and examples of definition sets are given for real and complex matrices, complex numbers 9 file processing 9 and list manipulation.

The Mechanical Evaluation of Expressions

It is shown how some forms of expression in current programming languages can be modelled in Church's X-notation, and a way of "interpreting" such expressions is described, which suggests a method of analyzing the things computer users write.

Revised report on the algorithmic languageAlgol 60

A complete defining description of the international algorithmic languageAlgol 60, a language suitable for expressing a large class of numerical processes in a form sufficiently concise for direct automatic translation into the language of programmed automatic computers is given.