Group: program representation
Topic: extensible languages
Topic: functional programming
Topic: general vs. specific purpose systems
Topic: language flexibility
Topic: maps and rings
Topic: minimal language systems
| |
Summary
Cartesian product spaces cover the largest space given a set of independent basis vectors. In programming languages, the corresponding idea is to define a few independent concepts which when interrelated in all combinations produce a full language. ALGOL 68 is the best example but the result does not match the needs of the programming community. When orthogonal extension is successful, a small amount of additional work produces a large result. For instance you would like to provide arrays as an orthogonal extension to a non-array language. Orthogonal extension means simple documentation, ease of understanding, and powerful syntax. Orthogonal extensions have been used with assembly language (names orthogonal to machine code), micro-coded ALU's, and meta operators. (cbb 5/80)
Subtopic: orthogonal features
Quote: independent languages features should be orthogonal, i.e., controlled independently [»maclBJ_1987]
| Quote: three perpendiculars from an origin determine the three dimensions of length, breadth, and height with three unique, shortest lines [»galiG_1632]
| QuoteRef: mckeWM_1966 ;; the power of each feature should be available to all features--eg i/o language is usually very limited compared to processing
| Quote: Algol68 is based on a small set of orthogonal, generalized concepts [»schwRL1_1979]
| Quote: orthogonality -- hardware designers have learned more sense; but language designers are clever programmers and have not [»hoarCA_1974]
| Subtopic: numeric constraints
Quote: zero, one, and infinity are the only reasonable numbers in program language design [»maclBJ_1987]
| Subtopic: meta operations
Quote: meta operators provide almost any semantic ability without changing the simple syntax of Red languages [»backJ_1972]
| Subtopic: micro coding
Quote: Zebra used micro-coding with each bit controlling a switch; great flexibility [»bellCG_1971, OK]
| Subtopic: orthogonal extension difficult
Quote: an orthogonal extension to a language normally requires surgery on its underlying guts [»stanTA6_1975]
| Quote: most programming languages are full of special cases and exceptions [»reinJ11_1971]
| Subtopic: functionally rich vs. orthogonal
Quote: a functionally rich system is not orthogonal; there are multiple ways to achieve a result
|
Related Topics
Group: program representation (25 topics, 659 quotes)
Topic: extensible languages (71 items)
Topic: functional programming (45 items)
Topic: general vs. specific purpose systems (11 items)
Topic: language flexibility (34 items)
Topic: maps and rings (15 items)
Topic: minimal language systems (12 items)
|