Results 1 - 10
of
13
Definitional interpreters for higher-order programming languages
- Reprinted from the proceedings of the 25th ACM National Conference
, 1972
"... Abstract. Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language such as pure LISP). Examples include ..."
Abstract
-
Cited by 263 (2 self)
- Add to MetaCart
Abstract. Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language such as pure LISP). Examples include McCarthy’s definition of LISP, Landin’s SECD machine, the Vienna definition of PL/I, Reynolds ’ definitions of GEDANKEN, and recent unpublished work by L. Morris and C. Wadsworth. Such definitions can be classified according to whether the interpreter contains higher-order functions, and whether the order of application (i.e., call by value versus call by name) in the defined language depends upon the order of application in the defining language. As an example, we consider the definition of a simple applicative programming language by means of an interpreter written in a similar language. Definitions in each of the above classifications are derived from one another by informal but constructive methods. The treatment of imperative features such as jumps and assignment is also discussed.
PCF extended with real numbers
, 1996
"... We extend the programming language PCF with a type for (total and partial) real numbers. By a partial real number we mean an element of a cpo of intervals, whose subspace of maximal elements (single-point intervals) is homeomorphic to the Euclidean real line. We show that partial real numbers can be ..."
Abstract
-
Cited by 45 (14 self)
- Add to MetaCart
We extend the programming language PCF with a type for (total and partial) real numbers. By a partial real number we mean an element of a cpo of intervals, whose subspace of maximal elements (single-point intervals) is homeomorphic to the Euclidean real line. We show that partial real numbers can be considered as “continuous words”. Concatenation of continuous words corresponds to refinement of partial information. The usual basic operations cons, head and tail used to explicitly or recursively define functions on words generalize to partial real numbers. We use this fact to give an operational semantics to the above referred extension of PCF. We prove that the operational semantics is sound and complete with respect to the denotational semantics. A program of real number type evaluates to a head-normal form iff its value is different from ⊥; if its value is different from ⊥ then it successively evaluates to head-normal forms giving better and better partial results converging to its value.
Stochastic processes as concurrent constraint programs
- In Symposium on Principles of Programming Languages
, 1999
"... ) Vineet Gupta Radha Jagadeesan Prakash Panangaden y vgupta@mail.arc.nasa.gov radha@cs.luc.edu prakash@cs.mcgill.ca Caelum Research Corporation Dept. of Math. and Computer Sciences School of Computer Science NASA Ames Research Center Loyola University--Lake Shore Campus McGill University Moffe ..."
Abstract
-
Cited by 25 (1 self)
- Add to MetaCart
) Vineet Gupta Radha Jagadeesan Prakash Panangaden y vgupta@mail.arc.nasa.gov radha@cs.luc.edu prakash@cs.mcgill.ca Caelum Research Corporation Dept. of Math. and Computer Sciences School of Computer Science NASA Ames Research Center Loyola University--Lake Shore Campus McGill University Moffett Field CA 94035, USA Chicago IL 60626, USA Montreal, Quebec, Canada Abstract This paper describes a stochastic concurrent constraint language for the description and programming of concurrent probabilistic systems. The language can be viewed both as a calculus for describing and reasoning about stochastic processes and as an executable language for simulating stochastic processes. In this language programs encode probability distributions over (potentially infinite) sets of objects. We illustrate the subtleties that arise from the interaction of constraints, random choice and recursion. We describe operational semantics of these programs (programs are run by sampling random choices), deno...
Path-Sensitive Value-Flow Analysis
- In Symposium on Principles of Programming Languages
, 1998
"... When analyzing programs for value recomputation, one faces the problem of naming the value that flows between equivalent computations with different lexical names. This paper presents a data-flow analysis framework that overcomes this problem by synthesizing a name space tailored for tracing the val ..."
Abstract
-
Cited by 23 (1 self)
- Add to MetaCart
When analyzing programs for value recomputation, one faces the problem of naming the value that flows between equivalent computations with different lexical names. This paper presents a data-flow analysis framework that overcomes this problem by synthesizing a name space tailored for tracing the values whose flow is of interest to a given data-flow problem. Furthermore, to exploit recomputation of a value with multiple, synonymous names, path-sensitive value numbering on the synthetic name space is developed. Optimizations that rely on value flow to detect redundant computations, such as partial redundancy elimination and constant propagation, become more powerful when phrased in our framework. The framework is built on a new program representation called Value Name Graph (VNG) which gains its power from integrating three orthogonal techniques: symbolic back-substitution, value numbering, and data-flow analysis. Our experiments with the implementation show that analysis on the VNG is p...
Complementation of abstract domains made easy
- Logic Programming: Proceedings of the Joint International Conference and Symposium on Logic Programming, MIT Press Series in Logic Programming
, 1996
"... In standard abstract interpretation theory, the inverse of the reduced product of abstract domains was recently defined and called complementation. Given two domains C and D such that D abstracts C, the complement C ∼ D is the most abstract domain whose reduced product with D gives C back. We show t ..."
Abstract
-
Cited by 17 (6 self)
- Add to MetaCart
In standard abstract interpretation theory, the inverse of the reduced product of abstract domains was recently defined and called complementation. Given two domains C and D such that D abstracts C, the complement C ∼ D is the most abstract domain whose reduced product with D gives C back. We show that, when C is a continuous complete lattice, there is a particularly simple method for computing C ∼ D. Since most domains for abstract interpretation are (complete and) continuous, this method is widely applicable. In order to demonstrate its relevance, we apply this result and some of its consequences to Cousot and Cousot’s domain for integer interval analysis of imperative programs, and to several wellknown domains for the static analysis of logic languages, viz., Pos, Def and Sharing. In particular, we decompose Sharing in three more abstract domains whose reduced product gives back Sharing, and such that each component corresponds to one of the three properties that coexist in the elements of Sharing: ground-dependency, pair-sharing (or equivalently variable independence) and set-sharing. Using our theory, we minimize each component of this decomposition obtaining in some case domains that are surprisingly simpler than the corresponding original components. 1
A Topos for Algebraic Quantum Theory
- COMMUNICATIONS IN MATHEMATICAL PHYSICS
, 2009
"... The aim of this paper is to relate algebraic quantum mechanics to topos theory, so as to construct new foundations for quantum logic and quantum spaces. Motivated by Bohr’s idea that the empirical content of quantum physics is accessible only through classical physics, we show how a noncommutative C ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
The aim of this paper is to relate algebraic quantum mechanics to topos theory, so as to construct new foundations for quantum logic and quantum spaces. Motivated by Bohr’s idea that the empirical content of quantum physics is accessible only through classical physics, we show how a noncommutative C*-algebra of observables A induces a topos T (A) in which the amalgamation of all of its commutative subalgebras comprises a single commutative C*-algebra A. According to the constructive Gelfand duality theorem of Banaschewski and Mulvey, the latter has an internal spectrum �(A) in T (A), which in our approach plays the role of the quantum phase space of the system. Thus we associate a locale (which is the topos-theoretical notion of a space and which intrinsically carries the intuitionistic logical structure of a Heyting algebra) to a C*-algebra (which is the noncommutative notion of a space). In this setting, states on A become probability measures (more precisely, valuations) on �, and self-adjoint elements of A define continuous functions (more precisely, locale maps) from � to Scott’s interval domain. Noting that open subsets of �(A) correspond to propositions about the system, the pairing map that assigns a (generalized) truth value to a state and a proposition assumes an extremely simple categorical form. Formulated in this way, the quantum theory defined by A is essentially turned into a classical theory, internal to the topos T (A). These results were inspired by the topos-theoretic approach to quantum physics proposed by Butterfield and Isham, as recently generalized by Döring and Isham.
Induction and recursion on the partial real line with applications to Real PCF
- Theoretical Computer Science
, 1997
"... The partial real line is an extension of the Euclidean real line with partial real numbers, which has been used to model exact real number computation in the programming language Real PCF. We introduce induction principles and recursion schemes for the partial unit interval, which allow us to verify ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The partial real line is an extension of the Euclidean real line with partial real numbers, which has been used to model exact real number computation in the programming language Real PCF. We introduce induction principles and recursion schemes for the partial unit interval, which allow us to verify that Real PCF programs meet their specification. They resemble the so-called Peano axioms for natural numbers. The theory is based on a domain-equation-like presentation of the partial unit interval. The principles are applied to show that Real PCF is universal in the sense that all computable elements of its universe of discourse are definable. These elements include higher-order functions such as integration operators. Keywords: Induction, coinduction, exact real number computation, domain theory, Real PCF, universality. Introduction The partial real line is the domain of compact real intervals ordered by reverse inclusion [28,21]. The idea is that singleton intervals represent total rea...
On the non-sequential nature of the interval-domain model of real-number computation
- Mathematical Structures in Computer Science
"... of real-number computation ..."
A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems
- In Proceedings of the 19th International Conference on the Foundations of Software Technology & Theoretical Computer Science
, 1999
"... . We build on the established work on modal transition systems and probabilistic specifications to sketch a framework in which system description, abstraction, and finite-state model checking all have a uniform presentation across various levels of qualitative and quantitative views together with me ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
. We build on the established work on modal transition systems and probabilistic specifications to sketch a framework in which system description, abstraction, and finite-state model checking all have a uniform presentation across various levels of qualitative and quantitative views together with mediating abstraction and concretization maps. We prove safety results for abstractions within and across such views for the entire modal mu-calculus and show that such abstractions allow for some compositional reasoning with respect to a uniform family of process algebras `a la CCS. 1 Introduction and Motivation Process algebras such as Milner's CCS [16] and modular guarded command languages such as McMillan's SMV [15] are important description languages for a wide range of computer systems. The operational meaning of such descriptions is typically captured by a triple M = (S; R; L), where S is a set of states, R the state-transition relation, and L contains atomic state information; the lat...
Induction and recursion on the partial real line via biquotients of bifree algebras (extended abstract
- In Proceedings of the Twelveth Annual IEEE Symposium on Logic in Computer Science
, 1997
"... of bifree algebras ..."

