## What is a Universal Higher-Order Programming Language? (1993)

Venue: | In Proc. International Conference on Automata, Languages, and Programming. Lecture Notes in Computer Science |

Citations: | 6 - 2 self |

### BibTeX

@INPROCEEDINGS{Kanneganti93whatis,

author = {Ramarao Kanneganti and Robert Cartwright},

title = {What is a Universal Higher-Order Programming Language?},

booktitle = {In Proc. International Conference on Automata, Languages, and Programming. Lecture Notes in Computer Science},

year = {1993},

pages = {682--695}

}

### OpenURL

### Abstract

. In this paper, we develop a theory of higher-order computability suitable for comparing the expressiveness of sequential, deterministic programming languages. The theory is based on the construction of a new universal domain T and corresponding universal language KL. The domain T is universal for observably sequential domains; KL can define all the computable elements of T, including the elements corresponding to computable observably sequential functions. In addition, domain embeddings in T preserve the maximality of finite elements---preserving the termination behavior of programs over the embedded domains. 1 Background and Motivation Classic recursion theory [7, 13, 18] asserts that all conventional programming languages are equally expressive because they can define all partial recursive functions over the natural numbers. This statement, however, is misleading because real programming languages support and enforce a more abstract view of data than bitstrings. In particular, mo...

### Citations

903 |
Theory of Recursive Functions and Effective Computability
- Rogers
(Show Context)
Citation Context ...tion that is computable on the domain T can be defined in KL. We show that the language KL is partially recursive by encoding an arbitrary partial recursive function in the language. It is well known =-=[16]-=- that any partial recursive function can be expressed by the operations: 0; 1 + ; 1 \Gamma , selection, composition, primitive recursion, and minimization. All these operations can be expressed in KL ... |

312 |
An Unsolvable Problem of Elementary Number Theory, The American
- Church
- 1936
(Show Context)
Citation Context ...on, domain embeddings in T preserve the maximality of finite elements---preserving the termination behavior of programs over the embedded domains. 1 Background and Motivation Classic recursion theory =-=[7, 13, 18]-=- asserts that all conventional programming languages are equally expressive because they can define all partial recursive functions over the natural numbers. This statement, however, is misleading bec... |

230 |
1976] "Data types as lattices
- Scott
(Show Context)
Citation Context ...al Languages The issue of higher-order computation has previously been studied in two contexts:s(i) the extension of classic recursion theory to computable functionals [10, 14] and (ii) domain theory =-=[15, 17]-=-, the mathematical framework underlying denotational semantics. In the classic theory of computable functionals, functions are represented intensionally as strings of symbols. Since programs can inspe... |

85 |
Sequential algorithms on concrete data structures
- Berry, Curien
- 1982
(Show Context)
Citation Context ...ure [11]. Sequential functions do not provide a satisfactory basis for defining a universal language because the sequential functions and corresponding domains do not form a cartesian closed category =-=[1]-=-. Sequential algorithms do form a cartesian closed category but they are intensional. of real programs faithfully. In particular, LAMBDA eliminates the distinction between terminating and non-terminat... |

80 |
General recursive functions of natural numbers
- Kleene
- 1936
(Show Context)
Citation Context ...on, domain embeddings in T preserve the maximality of finite elements---preserving the termination behavior of programs over the embedded domains. 1 Background and Motivation Classic recursion theory =-=[7, 13, 18]-=- asserts that all conventional programming languages are equally expressive because they can define all partial recursive functions over the natural numbers. This statement, however, is misleading bec... |

49 |
B ω as a universal domain
- Plotkin
- 1978
(Show Context)
Citation Context ...al Languages The issue of higher-order computation has previously been studied in two contexts:s(i) the extension of classic recursion theory to computable functionals [10, 14] and (ii) domain theory =-=[15, 17]-=-, the mathematical framework underlying denotational semantics. In the classic theory of computable functionals, functions are represented intensionally as strings of symbols. Since programs can inspe... |

40 | Observable sequentiality and full abstraction
- CARTWRIGHT, FELLEISEN
- 1991
(Show Context)
Citation Context ...e recently developed a subspace of the continuous functions called the observably sequential functions that encompasses all of the functions definable in practical deterministic programming languages =-=[5, 6, 12]-=-. The observably sequential functions exclude continuous functions that cannot be evaluated without multiple threads of control. In practice, non-sequential functions are unimportant in deterministic ... |

36 | Concrete domains
- Kahn, Plotkin
- 1993
(Show Context)
Citation Context ...s lazy trees. The "sequential" domains correspond to "filiform concrete data structures" studied by Curien [9], which are a restriction of "concrete domains" originally i=-=ntroduced by Kahn and Plotkin [11]. We show that the n-=-ew universal domain T has two important properties: 1. Every "sequential" domain D can be embedded by a "sequential" retraction as a subdomain D 0 of T such that the maximality of ... |

18 |
Partial recursive functionals and effective operations, Constructivity in mathematics
- Kreisel, Lacombe, et al.
- 1959
(Show Context)
Citation Context ...ions. 2 Previous Work On Universal Languages The issue of higher-order computation has previously been studied in two contexts:s(i) the extension of classic recursion theory to computable functionals =-=[10, 14]-=- and (ii) domain theory [15, 17], the mathematical framework underlying denotational semantics. In the classic theory of computable functionals, functions are represented intensionally as strings of s... |

9 |
SPCF: its model, calculus, and computational power
- KANNEGANTI, CARTWRIGHT, et al.
(Show Context)
Citation Context ...e recently developed a subspace of the continuous functions called the observably sequential functions that encompasses all of the functions definable in practical deterministic programming languages =-=[5, 6, 12]-=-. The observably sequential functions exclude continuous functions that cannot be evaluated without multiple threads of control. In practice, non-sequential functions are unimportant in deterministic ... |

8 |
The semantics of lazy (and industrious) evaluation
- Cartwright, Donahue
- 1984
(Show Context)
Citation Context ...mma! error i Fig. 2. Rewriting Rules for KL f1 + ; 1 \Gamma ; left; right; cons; pair?; if0g. The combinators S and K are definable by recursive equations in KL, but the definitions are a bit tedious =-=[4]-=-. Since the set of OS-domains and OS-functions form a cartesian closed category [8], we know that S and K are OS-functions. For the proofs in this paper, it is more convenient to write programs as rec... |

8 |
Fully abstract models of observably sequential languages
- Cartwright, Curien, et al.
- 1994
(Show Context)
Citation Context ...e recently developed a subspace of the continuous functions called the observably sequential functions that encompasses all of the functions definable in practical deterministic programming languages =-=[5, 6, 12]-=-. The observably sequential functions exclude continuous functions that cannot be evaluated without multiple threads of control. In practice, non-sequential functions are unimportant in deterministic ... |

6 | Recursive programs as definitions in first order logic
- Cartwright
- 1984
(Show Context)
Citation Context ...unction is defined by composition and application of other functions and recursion. The denotation of a function defined by a recursive definition is the least fixed point of corresponding functional =-=[13, 2]-=-. All the primitive operations and Apply over T are observably sequential. Since composition, application, and least fixed points preserve observable sequentiality, KL can only express the OS-function... |

6 |
The topology of program termination
- Cartwright, Demers
- 1988
(Show Context)
Citation Context ...n M in LAMBDA simply enumerates all finite approximations to the data object d denoted by M . This enumeration process cannot terminate because no approximation in U is maximal. Cartwright and Demers =-=[3] have deve-=-loped a new formulation of domain theory that addresses the issue of program termination. They constructed a new universal domain r (pronounced "Grad") and metalanguage Cons that distinguish... |

6 |
Computability and -definability
- Turing
- 1937
(Show Context)
Citation Context ...on, domain embeddings in T preserve the maximality of finite elements---preserving the termination behavior of programs over the embedded domains. 1 Background and Motivation Classic recursion theory =-=[7, 13, 18]-=- asserts that all conventional programming languages are equally expressive because they can define all partial recursive functions over the natural numbers. This statement, however, is misleading bec... |

2 |
Computable functionals of arbitrary finite type
- Davis
- 1957
(Show Context)
Citation Context ...ions. 2 Previous Work On Universal Languages The issue of higher-order computation has previously been studied in two contexts:s(i) the extension of classic recursion theory to computable functionals =-=[10, 14]-=- and (ii) domain theory [15, 17], the mathematical framework underlying denotational semantics. In the classic theory of computable functionals, functions are represented intensionally as strings of s... |