Results 1 -
7 of
7
On the Expressive Power of Programming Languages
- Science of Computer Programming
, 1990
"... The literature on programming languages contains an abundance of informal claims on the relative expressive power of programming languages, but there is no framework for formalizing such statements nor for deriving interesting consequences. As a first step in this direction, we develop a formal noti ..."
Abstract
-
Cited by 116 (4 self)
- Add to MetaCart
The literature on programming languages contains an abundance of informal claims on the relative expressive power of programming languages, but there is no framework for formalizing such statements nor for deriving interesting consequences. As a first step in this direction, we develop a formal notion of expressiveness and investigate its properties. To validate the theory, we analyze some widely held beliefs about the expressive power of several extensions of functional languages. Based on these results, we believe that our system correctly captures many of the informal ideas on expressiveness, and that it constitutes a foundation for further research in this direction. 1 Comparing Programming Languages The literature on programming languages contains an abundance of informal claims on the expressive power of programming languages. Arguments in these contexts typically assert the expressibility or non-expressibility of programming constructs relative to a language. Unfortunately, pro...
Interaction Systems I: The theory of optimal reductions
- Mathematical Structures in Computer Science
, 1994
"... We introduce a new class of higher order rewriting systems, called Interaction Systems (IS's). IS's come from Lafont's (Intuitionistic) Interaction Nets [Lafont 1990] by dropping the linearity constraint. In particular, we borrow from Interaction Nets the syntactical bipartitions of operators int ..."
Abstract
-
Cited by 40 (6 self)
- Add to MetaCart
We introduce a new class of higher order rewriting systems, called Interaction Systems (IS's). IS's come from Lafont's (Intuitionistic) Interaction Nets [Lafont 1990] by dropping the linearity constraint. In particular, we borrow from Interaction Nets the syntactical bipartitions of operators into constructors and destructors and the principle of binary interaction. As a consequence, IS's are a subclass of Klop's Combinatory Reduction Systems [Klop 1980] where the Curry-Howard analogy still "makes sense". Destructors and constructors respectively corresponds to left and right logical introduction rules, interaction is cut and reduction is cut-elimination. Interaction Systems have been primarily motivated by the necessity of extending the practice of optimal evaluators for -calculus [Lamping 1990, Gonthier et al. 1992a] to other computational constructs as conditionals and recursion. In this paper we focus on the theoretical aspects of optimal reductions. In particular, we ge...
Observable Sequentiality and Full Abstraction
- In Proceedings of POPL ’92
, 1992
"... ion Robert Cartwright Matthias Felleisen Department of Computer Science Rice University Houston, TX 77251-1892 Abstract One of the major challenges in denotational semantics is the construction of fully abstract models for sequential programming languages. For the past fifteen years, research o ..."
Abstract
-
Cited by 38 (5 self)
- Add to MetaCart
ion Robert Cartwright Matthias Felleisen Department of Computer Science Rice University Houston, TX 77251-1892 Abstract One of the major challenges in denotational semantics is the construction of fully abstract models for sequential programming languages. For the past fifteen years, research on this problem has focused on developing models for PCF, an idealized functional programming language based on the typed lambda calculus. Unlike most practical languages, PCF has no facilities for observing and exploiting the evaluation order of arguments in procedures. Since we believe that such facilities are crucial for understanding the nature of sequential computation, this paper focuses on a sequential extension of PCF (called SPCF) that includes two classes of control operators: error generators and escape handlers. These new control operators enable us to construct a fully abstract model for SPCF that interprets higher types as sets of error-sensitive functions instead of continuous...
FULLY ABSTRACT SEMANTICS FORO BSERVABLY SEQUENTIAL LANGUAGES
, 2004
"... Abstract One of the major challenges in denotational semantics is the construction of a fullyabstract semantics for a higher-order sequential programming language. For the past fifteen years, research on this problem has focused on developing a semantics for PCF,an idealized functional programming l ..."
Abstract
- Add to MetaCart
Abstract One of the major challenges in denotational semantics is the construction of a fullyabstract semantics for a higher-order sequential programming language. For the past fifteen years, research on this problem has focused on developing a semantics for PCF,an idealized functional programming language based on the typed
SPCF: Its Model, Calculus, and Computational Power (Preliminary Version)
, 1992
"... SPCF is an idealized sequential programming language, based on Plotkin's language PCF, that permits programmers and programs to observe the evaluation order of procedures. In this paper, we construct a fully abstract model of SPCF using a new mathematical framework suitable for defining fully abstra ..."
Abstract
- Add to MetaCart
SPCF is an idealized sequential programming language, based on Plotkin's language PCF, that permits programmers and programs to observe the evaluation order of procedures. In this paper, we construct a fully abstract model of SPCF using a new mathematical framework suitable for defining fully abstract models of sequential functional languages. Then, we develop an extended typed -calculus to specify the operational semantics of SPCF and show that the calculus is complete for the constant-free sublanguage. Finally, we prove that SPCF is computationally complete: it can express all the computable (recursively enumerable) elements in its fully abstract model. 1 SPCF: Observing Sequentiality Most contemporary programming languages, e.g., Scheme, Pascal, Fortran, C, and ML, are "sequential", that is, they impose a serial order on the evaluation of parts of programs. Unfortunately, the familiar mathematical models for sequential languages based on continuous functions do not capture this pro...

