3 research outputs found

    Full abstraction for the second order subset of an ALGOL-like language

    Get PDF
    We present a denotational semantics for an ALGOL-like language ALG, which is fully abstract for the second order subset of ALG. This constitutes the first significant full abstraction result for a block structured language with local variables. As all the published "test equivalences" [13, 8, 23 for Algol-like languages are contained in the second order subset, they can all be validated (easily) in our denotational model. The general technique for our model construction -- namely "relationally structured locally complete partial orders" with "relation preserving locally continuous functions" -- has already been developed in [13], but our particular model differs from the one in [13] in that we now use a larger set of relations. In a certain sense it is the "largest possible" set of relations, an idea which we have successfully used in [32] to obtain a fully abstract model for the second order subset ot the functional language PCF [26]. The overall structure of our full abstraction proof is also taken from [32], but for the single parts of the proof we had to solve considerable new problems which are specific to the imperative (Algol- like) setting

    Full abstraction for the second order subset of an ALGOL-like language

    Get PDF
    We present a denotational semantics for an ALGOL-like language ALG, which is fully abstract for the second order subset of ALG. This constitutes the first significant full abstraction result for a block structured language with local variables. As all the published "test equivalences" [13, 8, 23 for Algol-like languages are contained in the second order subset, they can all be validated (easily) in our denotational model. The general technique for our model construction -- namely "relationally structured locally complete partial orders" with "relation preserving locally continuous functions" -- has already been developed in [13], but our particular model differs from the one in [13] in that we now use a larger set of relations. In a certain sense it is the "largest possible" set of relations, an idea which we have successfully used in [32] to obtain a fully abstract model for the second order subset ot the functional language PCF [26]. The overall structure of our full abstraction proof is also taken from [32], but for the single parts of the proof we had to solve considerable new problems which are specific to the imperative (Algol- like) setting

    On the Orthogonality of Assignments and Procedures in Algol

    No full text
    According to folklore, Algol is an "orthogonal" extension of a simple imperative programming language with a call-by-name functional language. The former contains assignments, branching constructs, and compound statements; the latter is based on the typed -calculus. In an attempt to formalize the claim of "orthogonality", we define a simple version of Algol and an extended -calculus. The calculus includes the full fi-rule and rules for the reduction of assignment statements and commands. It has the usual properties, e.g., it satisfies a Church-Rosser and Strong Normalization Theorem. In support of the claim that the imperative and functional components are orthogonal to each other, we show that the proofs of the corresponding theorems are combinations of separate Church-Rosser and Strong Normalization theorems for each sub-language. An acclaimed consequence of Algol's orthogonal design is the idea that the evaluation of a program has two distinct phases. The first phase corresponds to..
    corecore