Topic: definition
Topic: immutable files and data
Topic: initialized constants
Topic: macros
Topic: named constants and expressions
Topic: no need for variables
Topic: no need for replacement
Topic: reduction languages
Topic: symbol table
Topic: replacement as defining a variable
Topic: static single assignment; SSA
Topic: words defined by words
| |
Summary
Definition languages contain neither variables nor replacement. They have a definition operator associating a symbol with meaning. It may be statically defined with a pre-determined meaning or it can be dynamically defined with a meaning from the current context. A symbol reference then refers to the symbol's definition. Once a symbol is defined it can not be redefined. Description languages, string transformation languages, Forth style languages, named constants, and reduction languages all have definitional components.
Advantages-- Semantics do not require a model of a store. The language is simpler without modifiable variables. The program's representation is more abstract. (cbb 5/80)
Subtopic: single assignment
Quote: a definition language, turns replacement into the definition of a variable [»ackeWB_1979]
| Quote: in a definitional language, a name may be assigned only once; the single assignment rule [»ackeWB_1979]
| Quote: a named constant is defined exactly once; any expression involving name constants has a fixed value as long as they are defined [»redeDH7_1979]
|
Related Topics
Topic: definition (17 items)
Topic: immutable files and data (59 items)
Topic: initialized constants (12 items)
Topic: macros (22 items)
Topic: named constants and expressions (21 items)
Topic: no need for variables (13 items)
Topic: no need for replacement (4 items)
Topic: reduction languages (17 items)
Topic: symbol table (4 items)
Topic: replacement as defining a variable (8 items)
Topic: static single assignment; SSA (19 items)
Topic: words defined by words (25 items)
|