|
ABSTRACT
GEDANKEN is an experimental programming language with the following characteristics. (1) Any value which is permitted in some context of the language is permissible in any other meaningful context. In particular, functions and labels are permissible results of functions and values of variables. (2) Assignment and indirect addressing are formalized by introducing values, called references, which in turn possess other values. The assignment operation always affects the relation between some reference and its value. (3) All compound data structures are treated as functions. (4) Type declarations are not permitted.
The functional approach to data structures and the use of references insure that any process which accepts some data structure will accept any logically equivalent structure, regardless of its internal representation. More generally, any data structure may be implicit; i.e. it may be specified by giving an arbitrary algorithm for computing or accessing its components. The existence of label variables permits the construction of co-routines, quasi-parallel processes, and other unorthodox control mechanisms.
A variety of programming examples illustrates the generality of the language. Limitations and possible extensions are discussed briefly.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1a
|
|
| |
1b
|
|
 |
2
|
|
 |
3
|
|
| |
4
|
|
| |
5
|
CHEATHAM, T. E., JR., FISCHER, A., AND JORRAND, P. On basis for ELF--An extensible language facility. Proc. AFIPS 1968 Fall Joint Comput. Conf., Vol. 33 Pt. 2, MDI Publications, Wayne, Pa., pp. 937-948.
|
| |
6
|
BALZER, R. M. Dataless programming. Proc. AFIPS 1967 Fall Joint Comput. Conf. Vol. 31, MDI Publications, Wayne, Pa., pp. 535-544.
|
| |
7
|
REYNOLDS, J .C . GEDANKEN--A simple typeless language which permits functional data structures and coroutines. ANL-7621, Argonne Nat. Lab., Argonne, Ill., Sept. 1969.
|
 |
8
|
|
 |
9
|
|
| |
10
|
FARBER, D. J., GRISWOLD, R. E., AND POLONSKY, L P. The SNOBOL3 programming language. Bell Syst. Tech. J. 45 (July-Aug. 1966), 895--944.
|
 |
11
|
|
| |
12
|
BURSTALL, R. M., AND POPPLESTONE, R .J . POP-2 reference manual. In Machine Intelligence g, E. Dale and D. Michie (Eds.), American Elsevier, New York, 1968, pp. 205-246.
|
 |
13a
|
|
| |
13b
|
|
 |
14
|
|
| |
15a
|
REYNOr,DS, J.C. An introduction to the COGENT programming system. Proc. ACM 20th Natl. Conf., 1965, pp. 422- 436.
|
| |
15b
|
--, COGENT programming manual. ANL-7022, Argonne Nat. Lab., Argonne, Ill., Mar. 1965.
|
 |
16
|
|
| |
17
|
REYNOLDS, J. C. A set-theoretic approach to the concept of type. Working paper, NATO Conf. on Techniques in Software Engineering, Rome, Oct. 1969.
|
| |
18a
|
EVANS, A. Private communication.
|
| |
18b
|
MORRIS, J. H. Lambda-calculus models of programming languages. MAC-TR-57, Project MAC, MIT, Cambridge, Mass., Dec. 1968.
|
CITED BY 64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M. Gordon , R. Milner , L. Morris , M. Newey , C. Wadsworth, A Metalanguage for interactive proof in LCF, Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.119-130, January 23-25, 1978, Tucson, Arizona
|
|
|
|
|
|
Carl Hewitt , Peter Bishop , Irene Greif , Brian Smith , Todd Matson , Richard Steiger, Actor induction and meta-evaluation, Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.153-168, October 01-03, 1973, Boston, Massachusetts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bruce Duba , Robert Harper , David MacQueen, Typing first-class continuations in ML, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.163-173, January 21-23, 1991, Orlando, Florida, United States
|
|
|
|
|
|
|
|
|
Christopher T. Haynes , Daniel P. Friedman , Mitchell Wand, Continuations and coroutines, Proceedings of the 1984 ACM Symposium on LISP and functional programming, p.293-298, August 06-08, 1984, Austin, Texas, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M. Bidoit , B. Biebow , M-C. Gaudel , C. Gresse , G. Guiho, Exception handling: Formal specification and systematic program construction, Proceedings of the 7th international conference on Software engineering, p.18-29, March 26-29, 1984, Orlando, Florida, United States
|
|
|
D. M. Berry , L. Chirica , J. B. Johnston , D. F. Martin , A. Sorkin, On the time required for retention, Proceedings of the ACM-IEEE symposium on High-level-language computer architecture, p.165-178, November 07-08, 1973, College Park, Maryland, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E. Milgrom , J. Katzenelson, Data structures in the extensible programming language AEPL, Proceedings of the December 5-7, 1972, fall joint computer conference, part I, December 05-07, 1972, Anaheim, California
|
|
|
|
|
|
|
INDEX TERMS
Keywords:
applicative language,
assignment,
coroutine,
data structure,
lambda calculus,
list processing,
nondeterministic algorithm,
programming language,
quasi-parallel process,
reference,
typeless language
|