Affiliation:
1. Argonne National Lab, Argonne, IL
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.
Publisher
Association for Computing Machinery (ACM)
Cited by
107 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Verified Software Units for Simple DFA Modules and Objects in C;Leveraging Applications of Formal Methods, Verification and Validation. Software Engineering;2022
2. Verified Software Units;Programming Languages and Systems;2021
3. The history of Standard ML;Proceedings of the ACM on Programming Languages;2020-06-12
4. Soft component automata: Composition, compilation, logic, and verification;Science of Computer Programming;2019-09
5. Full abstraction for expressiveness: history, myths and facts;Mathematical Structures in Computer Science;2014-11-13