Results 1 -
5 of
5
Proving congruence of bisimulation in functional programming languages
- Information and Computation
, 1996
"... E-mail: howe research.att.com We give a method for proving congruence of bisimulation-like equivalences in functional programming languages. The method applies to languages that can be presented as a set of expressions together with an evaluation relation. We use this method to show that some genera ..."
Abstract
-
Cited by 102 (1 self)
- Add to MetaCart
E-mail: howe research.att.com We give a method for proving congruence of bisimulation-like equivalences in functional programming languages. The method applies to languages that can be presented as a set of expressions together with an evaluation relation. We use this method to show that some generalizations of Abramsky's applicative bisimulation are congruences whenever evaluation can be specified by a certain natural form of structured operational semantics. One of the generalizations handles nondeterminism and diverging computations.] 1996 Academic Press, Inc. 1.
From SOS Rules to Proof Principles: An Operational Metatheory for Functional Languages
- In Proc. POPL'97, the 24 th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
, 1997
"... Structural Operational Semantics (SOS) is a widely used formalism for specifying the computational meaning of programs, and is commonly used in specifying the semantics of functional languages. Despite this widespread use there has been relatively little work on the imetatheoryj for such semantics. ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
Structural Operational Semantics (SOS) is a widely used formalism for specifying the computational meaning of programs, and is commonly used in specifying the semantics of functional languages. Despite this widespread use there has been relatively little work on the imetatheoryj for such semantics. As a consequence the operational approach to reasoning is considered ad hoc since the same basic proof techniques and reasoning tools are reestablished over and over, once for each operational semantics speciøcation. This paper develops some metatheory for a certain class of SOS language speciøcations for functional languages. We deøne a rule format, Globally Deterministic SOS (gdsos), and establish some proof principles for reasoning about equivalence which are sound for all languages which can be expressed in this format. More speciøcally, if the SOS rules for the operators of a language conform to the syntax of the gdsos format, then ffl a syntactic analogy of continuity holds, which rel...
Labelled Reductions, Runtime Errors, and Operational Subsumption
- of Lecture Notes in Computer Science
, 1997
"... Introduction Consider the "name-switching" function F def = x:fl 1 = x:l 2 ; l 2 = x:l 1 g in a - calculus with records. Most type systems would reject program (Ffl 1 = 3g):l 2 because the type of F is fl 1 : X; l 2 : Y g ! fl 2 : Y; l 1 : Xg and fl 1 : X; l 2 : Y g cannot be unified with fl 1 ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Introduction Consider the "name-switching" function F def = x:fl 1 = x:l 2 ; l 2 = x:l 1 g in a - calculus with records. Most type systems would reject program (Ffl 1 = 3g):l 2 because the type of F is fl 1 : X; l 2 : Y g ! fl 2 : Y; l 1 : Xg and fl 1 : X; l 2 : Y g cannot be unified with fl 1 : Intg, the type of the record argument. However this program reduces to 3 without error. This shows that the common notion of "erroneous" terms, as implemented in most typed languages, is sometimes
Interpreting functions as π-calculus processes: a tutorial
, 1999
"... This paper is concerned with the relationship between-calculus and ��-calculus. The-calculus talks about functions and their applicative behaviour. This contrasts with the ��-calculus, that talks about processes and their interactive behaviour. Application is a special form of interaction, and there ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper is concerned with the relationship between-calculus and ��-calculus. The-calculus talks about functions and their applicative behaviour. This contrasts with the ��-calculus, that talks about processes and their interactive behaviour. Application is a special form of interaction, and therefore functions can be seen as a special form of processes. We study how the functions of the-calculus (the computable functions) can be represented as ��-calculus processes. The ��-calculus semantics of a language induces a notion of equality on the terms of that language. We therefore also analyse the equality among functions that is induced by their representation as ��-calculus processes. This paper is intended as a tutorial. It however contains some original contributions. The main ones are: the use of well-known Continuation Passing Style transforms to derive the encodings into ��-calculus and prove their correctness; the encoding of typed-calculi.

