Results 1  10
of
34
Promoting Rewriting to a Programming Language: A Compiler for NonDeterministic Rewrite Programs in AssociativeCommutative Theories
, 2001
"... Firstorder languages based on rewrite rules share many features with functional languages. But one difference is that matching and rewriting can be made much more expressive and powerful by incorporating some builtin equational theories. To provide reasonable programming environments, compilation ..."
Abstract

Cited by 31 (6 self)
 Add to MetaCart
Firstorder languages based on rewrite rules share many features with functional languages. But one difference is that matching and rewriting can be made much more expressive and powerful by incorporating some builtin equational theories. To provide reasonable programming environments, compilation techniques for such languages based on rewriting have to be designed. This is the topic addressed in this paper. The proposed techniques are independent from the rewriting language and may be useful to build a compiler for any system using rewriting modulo associative and commutative (AC) theories. An algorithm for manytoone AC matching is presented, that works efficiently for a restricted class of patterns. Other patterns are transformed to fit into this class. A refined data structure, namely compact bipartite graph, allows encoding all matching problems relative to a set of rewrite rules. A few optimisations concerning the construction of the substitution and of the reduced term are described. We also address the problem of nondeterminism related to AC rewriting and show how to handle it through the concept of strategies. We explain how an analysis of the determinism can be performed at compile time and we illustrate the benefits of this analysis for the performance of the compiled evaluation process. Then we briefly introduce the ELAN system and its compiler, in order to give some experimental results and comparisons with other languages or rewrite engines.
A Functional Approach to Computability on Real Numbers
, 1993
"... The aim of this thesis is to contribute to close the gap existing between the theory of computable analysis and actual computation. In order to study computability over real numbers we use several tools peculiar to the theory of programming languages. In particular we introduce a special kind of typ ..."
Abstract

Cited by 23 (0 self)
 Add to MetaCart
(Show Context)
The aim of this thesis is to contribute to close the gap existing between the theory of computable analysis and actual computation. In order to study computability over real numbers we use several tools peculiar to the theory of programming languages. In particular we introduce a special kind of typed lambda calculus as an appropriate formalism for describing computations on real numbers. Furthermore we use domain theory, to give semantics to this typed lambda calculus and as a conseguence to give a notion of computability on real numbers. We discuss the adequacy of ScottDomains as domains for representing real numbers. We relate the Scott topology on such domains to the euclidean topology on IR. Domain theory turns out to be useful also in the study of higher order functions. In particular one of the most important results contained in this thesis concerns the characterisation of the topological properties of the computable higher order functions on reals. Our approach allows moreover to phrase and discuss w.r.t. real numbers issues of programming languages. We address the problem of defining an implementation of real numbers
New Foundations for Fixpoint Computations
, 1990
"... This paper introduces a new higherorder typed constructive predicate logic for fixpoint computations, which exploits the categorical semantics of computations introduced by Moggi [8] and contains a strong version of MartinLöf’s ‘iteration type’ [ll]. The type system enforces a separation of comput ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
This paper introduces a new higherorder typed constructive predicate logic for fixpoint computations, which exploits the categorical semantics of computations introduced by Moggi [8] and contains a strong version of MartinLöf’s ‘iteration type’ [ll]. The type system enforces a separation of computations from values. The logic contains a novel form of fixpoint induction and can express partial and total correctness statements about evaluation of computations to values. The constructive nature of the logic is witnessed by strong metalogical properties which are proved using a categorytheoretic version of the ‘logical relations’ method.
Constructive Data Refinement in Typed Lambda Calculus
, 2000
"... . A new treatment of data refinement in typed lambda calculus is proposed, based on prelogical relations [HS99] rather than logical relations as in [Ten94], and incorporating a constructive element. Constructive data refinement is shown to have desirable properties, and a substantial example of ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
. A new treatment of data refinement in typed lambda calculus is proposed, based on prelogical relations [HS99] rather than logical relations as in [Ten94], and incorporating a constructive element. Constructive data refinement is shown to have desirable properties, and a substantial example of refinement is presented. 1 Introduction Various treatments of data refinement in the context of typed lambda calculus, beginning with Tennent's in [Ten94], have used logical relations to formalize the intuitive notion of refinement. This work has its roots in [Hoa72], which proposes that the correctness of a concrete version of an abstract program be verified using an invariant on the domain of concrete values together with a function mapping concrete values (that satisfy the invariant) to abstract values. In algebraic terms, what is required is a homomorphism from a subalgebra of the concrete algebra to the abstract algebra. A strictly more general method is to take a homomorphic relatio...
Sequential Algorithms, Deterministic Parallelism, and Intensional Expressiveness
 Proc. ACM Symposium on Principles of Programming Languages
, 1995
"... We call language L 1 intensionally more expressive than L 2 if there are functions which can be computed faster in L 1 than in L 2 . We study the intensional expressiveness of several languages: the BerryCurien programming language of sequential algorithms, CDS0, a deterministic parallel extension ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
(Show Context)
We call language L 1 intensionally more expressive than L 2 if there are functions which can be computed faster in L 1 than in L 2 . We study the intensional expressiveness of several languages: the BerryCurien programming language of sequential algorithms, CDS0, a deterministic parallel extension to it, named CDSP, and various parallel extensions to the functional programming language PCF. The paper consists of two parts. In the first part, we show that CDS0 can compute the minimum of two numbers n and p in unary representation in time O(min(n; p)). However, it cannot compute a "natural" version of this function. CDSP allows us to compute this function, as well as functions like parallelor. This work can be seen as an extension of the work of Colson [7, 8] with primitive recursive algorithms to the setting of sequential algorithms. In the second part, we show that deterministic parallelism adds intensional expressiveness, settling a "folk" conjecture from the literature in the nega...
Typebased uselesscode elimination for functional programs
 Proceedings of the International Workshop on Semantics, Applications, and Implementation of Program Generation (SAIG 2000
, 2000
"... Abstract. In this paper we present a survey of the work on typebased uselesscode elimination for higherorder functional programs. After some historical remarks on the motivations and early approaches we give an informal but complete account of the techniques and results developed at the Computer ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
Abstract. In this paper we present a survey of the work on typebased uselesscode elimination for higherorder functional programs. After some historical remarks on the motivations and early approaches we give an informal but complete account of the techniques and results developed at the Computer Science Department of the University of Torino. In particular, we focus on the fact that, for each of the typebased techniques developed, there is an optimal program simplification. 1 UselessCode Elimination for HigherOrder Programs:
Semantics vs. Syntax vs. Computations  Machine Models For Type2 . . .
 JOURNAL OF COMPUTER AND SYSTEM SCIENCE
, 1997
"... This paper investigates analogs of the KreiselLacombeShoenfield Theorem in the context of the type2 basic feasible functionals. We develop a direct, polynomialtime analog of effective operation in which the time boundingon computations is modeled after Kapron and Cook's scheme for their bas ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
This paper investigates analogs of the KreiselLacombeShoenfield Theorem in the context of the type2 basic feasible functionals. We develop a direct, polynomialtime analog of effective operation in which the time boundingon computations is modeled after Kapron and Cook's scheme for their basic polynomialtime functionals. We show that if P = NP, these polynomialtime effective operations are strictly more powerful on R (the class of recursive functions) than the basic feasible functions. We also consider a weaker notion of polynomialtime effective operation where the machines computing these functionals have access to the computations of their procedural parameter, but not to its program text. For this version of polynomialtime effective operations, the analog of the KreiselLacombeShoenfield is shown to holdtheir power matches that of the basic feasible functionals on R.
Games in the Semantics of Programming Languages
 Dept. of Philosophy, University of Amsterdam
, 1997
"... ion for PCF Motivated by the full completeness results, it became of compelling interest to reexamine perhaps the bestknown "open problem" in the semantics of programming languages, namely the "Full Abstraction problem for PCF", using the new tools provided by game semantics. ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
ion for PCF Motivated by the full completeness results, it became of compelling interest to reexamine perhaps the bestknown "open problem" in the semantics of programming languages, namely the "Full Abstraction problem for PCF", using the new tools provided by game semantics. 2 PCF is a higherorder functional programming language; modulo issues of the parameterpassing strategies, it forms a fragment of any programming language with higherorder procedures (which includes any reasonably expressive objectoriented language). The aspect of the Full Abstraction problem I personally found most interesting was: to construct a syntaxindependent model in which every element is the denotation of some program (note the analogy with full completeness, whose definition had in turn been motivated in part by this aspect of full abstraction). This is not how the problem was originally formulated, but by "general abstract nonsense", given such a model one can always quotient it to get a fully ab...
Computable de Finetti measures
, 2009
"... We prove a uniformly computable version of de Finetti’s theorem on exchangeable sequences of real random variables. As a consequence, exchangeable stochastic processes in probabilistic functional programming languages can be automatically rewritten as procedures that do not modify nonlocal state. A ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We prove a uniformly computable version of de Finetti’s theorem on exchangeable sequences of real random variables. As a consequence, exchangeable stochastic processes in probabilistic functional programming languages can be automatically rewritten as procedures that do not modify nonlocal state. Along the way, we prove that a distribution on the unit interval is computable if and only if its moments are uniformly computable.
On the ubiquity of certain total type structures
 UNDER CONSIDERATION FOR PUBLICATION IN MATH. STRUCT. IN COMP. SCIENCE
, 2007
"... It is a fact of experience from the study of higher type computability that a wide range of approaches to defining a class of (hereditarily) total functionals over N leads in practice to a relatively small handful of distinct type structures. Among these are the type structure C of KleeneKreisel co ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
It is a fact of experience from the study of higher type computability that a wide range of approaches to defining a class of (hereditarily) total functionals over N leads in practice to a relatively small handful of distinct type structures. Among these are the type structure C of KleeneKreisel continuous functionals, its effective substructure C eff, and the type structure HEO of the hereditarily effective operations. However, the proofs of the relevant equivalences are often nontrivial, and it is not immediately clear why these particular type structures should arise so ubiquitously. In this paper we present some new results which go some way towards explaining this phenomenon. Our results show that a large class of extensional collapse constructions always give rise to C, C eff or HEO (as appropriate). We obtain versions of our results for both the “standard” and “modified” extensional collapse constructions. The proofs make essential use of a technique due to Normann. Many new results, as well as some previously known ones, can be obtained as instances of our theorems, but more importantly, the proofs apply uniformly to a whole family of constructions, and provide strong evidence that the above three type structures are highly canonical mathematical objects.