Topic: expression language

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

expression evaluation

assigning values to statements
functional programming
programming as mathematics
reduction languages
referential transparency
restricted use of global variables
statement language
value as an object


Programming is frequently seen as a mathematical activity with a foundation in arithmetic expressions. Every executable program returns a value which in turn may be used as an argument to another program. Scientific calculators are successful because the expression model closely matches the computation needs of their users. Efficient implementations exist with a familiar syntax.

But much of programming is not computational; instead it is modification and control of an external world. Business machines maintain databases and mail checks. Microprocessors run cash registers, automobile ignition systems and scientific instruments. Computation is important but it is no longer fundamental. With side effects, expression languages are no longer a strong foundation.

Advantages-- A universal representation close to mathematical experience. Consistent interface between procedures. Formal basis for reduction languages. (cbb 5/80)

Subtopic: mathematical approach; values of expressions up

Quote: "mathematical" approach to programming considers values of expressions instead of the steps that produced them [»straC3_1973]
Quote: a language is a mapping between expressions and a domain of discourse; if a function, the meaning of an expression is its consequent [»backJ_1973, OK]
Quote: the world of expressions is orderly, has useful algebraic properties, and performs most useful computation [»backJ8_1978a]
Quote: an expression has a value; it may have two values, an L-value and an R-value [»straC8_1967]

Subtopic: every statement yields a value up

Quote: every statement and declaration should be an expression that yields a value [»stroB_1994]
Quote: can replace statement refinements by assigning the result of an expression refinement

Subtopic: examples up

QuoteRef: wegbB5_1974 ;;3 EL1 is an expression language
QuoteRef: wulfWA12_1971 ;;783 expression language (no valueless statements)
QuoteRef: cbb_1973 ;;11/16/74 produce a language like arithmetic expressions
Quote: in C, statements are just expressions followed by a semicolon; assignments are expression operators [»ritcDM7_1978c]
Quote: in SL5, if..then..else is an expression whose result is the result of the then.. or else.. part [»hansDR5_1978]

Subtopic: expression tree up

Quote: an expression tree, Expression, is an efficient, in-memory representation of a lambda expression; LINC translates expression trees into SQL [»bierGM10_2007]

Subtopic: expressions as statements up

Quote: every function in HyperTalk sets 'it' implicitly; turns expressions into a sequence of statements [»myerBA_1992]

Subtopic: programming is not expressions up

Quote: programming traditionally uses two kinds of data flow -- expression nesting and variable assignment and reference; leads to side-effects and multi-value wrappers

Related Topics up

Group: expression evaluation   (5 topics, 97 quotes)

Topic: assigning values to statements (7 items)
Topic: calculator (1 item)
Topic: functional programming (45 items)
Topic: programming as mathematics (27 items)
Topic: reduction languages (17 items)
Topic: referential transparency (26 items)
Topic: restricted use of global variables (22 items)
Topic: statement language (10 items)
Topic: value as an object
(29 items)

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