Map
Index
Random
Help
Topics
th

Topic: extensible languages

topics > computer science > programming > Group: types of programming languages



Group:
goals for a programming system

Topic:
compiling pseudocode designs
Topic:
design for change
Topic:
domain specific language
Topic:
evolutionary systems
Topic:
extensible systems
Topic:
function syntax by pattern
Topic:
grammar modification
Topic:
language extension via macros
Topic:
open systems
Topic:
orthogonal extension and cartesian products
Topic:
programming language design
Topic:
programming with a database of modules
Topic:
restricted and extended types
Topic:
scripting language
Topic:
Thesa as a database of modules
Topic:
words defined by words
Topic:
user-defined languages

Subtopic: user community up

Quote: since Emacs allows user customization, the whole user community becomes a source and testing ground for new ideas [»stallRM6_1981]

Subtopic: extensibility needed up

Quote: a programming language should be extendable by definition [»gallBA_1970]
Quote: can not subdivide universe of problems into fixed areas, each with its own special notation [»holtAW5_1958]
Quote: need arbitrary, new notations since no set of special notations is suitable for all problems

Subtopic: graceful enhancement of a base language up

Quote: new words and rules of meaning should look just like what was designed at the start [»steeGL10_1998]
Quote: want to grow Java with generic types and overloaded operators; just like built-in types
Quote: language extensibility is the graceful enhancement of a base language; unlike compilation's extreme transformation [»elsoM_1973]
Quote: an extensible language provided a language kernel and an extension mechanism [»maclBJ_1987]
Quote: goal of extensible languages was to extend a base language into a natural representation for data, operations, and control of an application
Quote: a programming language should have a small framework that can accommodate many powerful features as changeable parts [»backJ8_1978a]
Quote: metaphrase extensibility allows the user to define the core language that is then used to define extensions [»woolJD_1973]
QuoteRef: ironET1_1969 ;;32 extend syntax by function definition specifying syntax as well
Quote: an operating system should be a set of basic modules; application programming extends the system [»wirtN7_1988]
Quote: construct a general purpose compiler that provides naming aids and the ability to add new notations [»holtAW5_1958]
Quote: Forth was designed to replace the "vast hierarchy" of software tools with a simple, natural programmer-to-Forth interface [»rathED_1996]
Quote: despite primitive on-line computers and Forth's oddness, Forth can be more productive than fully supported mainframes [»rathED_1996]

Subtopic: object-orientation vs. polymorphism up

Quote: object-orientation overcomes the complexity of polymorphism in extensible languages [»ingaDH9_1986]
Quote: procedures in extensible languages had to be polymorphic but case selection of appropriate code caused a combinatoric explosion of complexity [»ingaDH9_1986]
Quote: a private procedure for a procedure variable may call standard procedures; used for extensions and experimentation [»sweeRE7_1985]
Quote: the program-oriented view of inheritance is based on extension and substitutability; can replace an object with an object of any subclass [»winkJF8_1992]
Quote: object-oriented inheritance is an extension mechanism, not a specialization or classification mechanism [»winkJF8_1992]

Subtopic: design extensibility up

Quote: extend UML with stereotypes (new elements), tagged values (new attributes), and constraints (new semantics) [»boocG_1999]

Subtopic: namespace extensibility up

Quote: Piccola unifies all notions of namespaces as first-class forms, e.g., records, dictionaries, objects, environments, packages; avoids meta-programming [»acheF9_2000]

Subtopic: metadata extensibility up

Quote: System.Attribute is an arbitrary type associated with an object; extends metadata, e.g., 'const' [»hamiJ2_2003]

Subtopic: programming language extension up

Quote: C++ is a superset of C

Subtopic: event-driven up

Quote: a hook is a function invoked by an event; e.g., on loading a library or modifying a variable [»stallRM6_1981]

Subtopic: late binding up

Quote: because of Java's late binding it is easy to change methods and private variables; just need to retain old methods or their type signatures [»goslJ6_1997]
Quote: Emacs is a real-time display editor which can be extended by the user while it is running [»stallRM6_1981]

Subtopic: reflection up

Quote: reflection can allow a program to examine its own structure, modify the structure, execute dynamically-generated code, and modify the language's semantics [»bracG10_2004]

Subtopic: configuration up

Quote: global variables are essential for customization; e.g., 'comment start' for recognizing the start of a comment in text [»stallRM6_1981]

Subtopic: function library up

Quote: reuse successful for system libraries, numeric libraries, and window management; fixed set of fully-specified data types and interfaces [»dehnJC4_1998]
Quote: a library should be flexible, allow polymorphic classes, efficient, and extensible without invalidating existing programs [»fricA4_2000]
Quote: an Emacs library is a publication medium for users to share their extensions without interference
Quote: an Emacs library is a coherent set of new and redefined functions that extend the basic system [»stallRM6_1981]
Quote: creating new notations for programming is practical only if it is easy to add the necessary library packages [»holtAW5_1958, OK]

Subtopic: procedural extensibility up

Quote: procedures and parameters afford all the major advantages of extensible languages, plus space efficiency
Quote: use in-line expansion to extend a machine's order code; use interpretative subroutines to reduce memory; e.g., floating point [»wilkMV_1957]

Subtopic: components up

Quote: a software components industry will offer families of high quality routines, tuned to specific needs; treated as black boxes [»mcilMD10_1968]

Subtopic: downward extension, devices and instructions up

QuoteRef: dubyJJ12_1971 ;;137 extensible languages should be extendable downwards-- eg to support new physical devices or instructions

Subtopic: extended data types up

Quote: Oberon is extensible; e.g., any application can read text from the screen by importing the type Text [»wirtN9_1989]
Quote: self-describing data may be completely determined only at the time of actual processing; needs an extensible language [»parnDL3_1976]
Quote: can extend imported Oberon data types without losing compatibility with the base type; motivation for the Oberon language [»wirtN9_1989]
Quote: extended, Oberon objects are byte compatible with their base type; can be integrated into existing structures [»wirtN9_1989]
Quote: in FQL, can incrementally define data; no pre-defined schema [»buneP1_1981]
Quote: extensible records using a simple, perfect-hash coding; rapid access, efficient creation, one extra field [»remyD6_1992]

Subtopic: expression extensibility up

Quote: to prevent ambiguities, C++ operator overloading can not change precedence, change expression syntax, or define operator tokens [»stroB_1991]

Subtopic: macros up

Quote: use macrogeneration for semantic extension of a language [»straC8_1967]

Subtopic: premature specialization up

Quote: programming language designers have made unnecessary, pre-emptive decisions about the nature of various features; e.g., array implementation [»shawM3_1980]
Quote: most compilers are designed for a special range of problems; better to have ability to add arbitrary, new notations [»holtAW5_1958]

Subtopic: examples up

Quote: meta-level compilation through extensible compiler with high-level state machines applied down every path; transitions triggered by patterns [»chouA11_2000]
Quote: Fleximatic provides a set of services for any problem instead of special features for an area of computation [»holtAW5_1958]
QuoteRef: thomK_1976 ;;379 "Since these operations can be user-supplied, it is easily extensible ([the Unix command line interpreter)
Quote: in Flex can define new binary and unary operations [»kayAC6_1968, OK]
QuoteRef: molnG8_1971 ;;Title: SEL a self-extensible programming language
QuoteRef: wulfWA12_1971 ;;786 in Bliss, can change a structure when its use changes
Quote: users extend EMACS by writing functions in the same language used to write EMACS [»stalRM6_1981]
QuoteRef: kiebRB9_1973 ;;4.3 extend syntax eg expression ::= identifier of expression for access
Quote: for future applications, a message interface includes messages for all relevant information; currently unused messages are ignored [»katzL_1981]

Subtopic: extensibility is difficult up

Quote: full extensibility is impossible because there is nothing to build on [»browPJ_1974]
Quote: users need a large amount of effort and knowledge to extend a language significantly [»stanTA12_1971]
Quote: an orthogonal extension to a language normally requires surgery on its underlying guts [»stanTA6_1975]
Quote: lesson of extensible languages: no simple statement to an unknowledgeable computer can alter its behavior in major ways [»stanTA12_1971]
Quote: the difficulty of modifying a language's compiler can prevent extending the language [»halpMI1_1968]
QuoteRef: cbb_1973 ;; expansion capabilities of PL/1 and Algol very seldom used, i.e. power v. access
QuoteRef: dod12_1977 ;;42 "The user shall not be able to modify the source language syntax

Subtopic: problems with extensibility -- inefficient, poor diagnostics, base language up

Quote: difficult to learn Smalltalk because of its size, diffuse nature, and generalist design [»nielJ5_1989]
Quote: extensible languages are inefficient because compilers must be large and inefficiencies in the kernel were amplified in the extensions [»maclBJ_1987]
Quote: extensible languages had poor diagnostics since error checking happened at the kernel level [»maclBJ_1987]
Quote: PPL failed as an extensible language because the base language was preserved in the extensions [»stanTA12_1971]
Quote: with an entirely extensible language, great language designers make bad design decisions and unreadable code [»bergT9_1997]
Quote: Smalltalk dropt syntax extensions so that programs can be read

Related Topics up

Group: goals for a programming system   (21 topics, 983 quotes)

Topic: compiling pseudocode designs (8 items)
Topic: design for change (76 items)
Topic: domain specific language (8 items)
Topic: evolutionary systems (47 items)
Topic: extensible systems (22 items)
Topic: function syntax by pattern (15 items)
Topic: grammar modification (10 items)
Topic: language extension via macros (23 items)
Topic: open systems (33 items)
Topic: orthogonal extension and cartesian products (11 items)
Topic: programming language design (53 items)
Topic: programming with a database of modules (94 items)
Topic: restricted and extended types (35 items)
Topic: scripting language (27 items)
Topic: Thesa as a database of modules (23 items)
Topic: words defined by words (25 items)
Topic: user-defined languages
(42 items)


Updated barberCB 3/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.