Results 1  10
of
22
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 30 (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.
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...
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 basic po ..."
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.
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:
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
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...
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. 2 PCF is a highero ..."
Abstract

Cited by 8 (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...
Programming Language Expressiveness and Circuit Complexity
 in: Internat. Conf. on the Mathematical Foundations of Programming Semantics
, 1996
"... This paper is a continuation of the work begun in [5] on establishing relative intensional expressiveness results for programming languages. Language L 1 is intensionally more expressive than L 2 , if L 1 can compute all the functions L 2 can, with at least the same asymptotic complexity. The questi ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
This paper is a continuation of the work begun in [5] on establishing relative intensional expressiveness results for programming languages. Language L 1 is intensionally more expressive than L 2 , if L 1 can compute all the functions L 2 can, with at least the same asymptotic complexity. The question we address is: Does nondeterministic parallelism add intensional expressiveness? We compare deterministic and nondeterministic extensions of PCF, a simple functional programming language. We develop further the circuit semantics from our earlier work, and establish a connection between parallel PCF programs and boolean circuits. Using results from circuit complexity, and assuming hardware which can detect undefined inputs, we show that nondeterministic parallelism is indeed intensionally more expressive. More precisely, we show that nondeterministic parallelism can lead to exponentially faster programs, and also programs that do exponentially less work. 1 Introduction We conduct an inves...
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.
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 Equivalence of Some Approaches to Computability on the Real Line
"... There have been many suggestions for what should be a computable real number or function. Some of them exhibited pathological properties. At present, research concentrates either on an application of Weihrauch's Type Two Theory of Effectivity or on domaintheoretic approaches, in which case the part ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
There have been many suggestions for what should be a computable real number or function. Some of them exhibited pathological properties. At present, research concentrates either on an application of Weihrauch's Type Two Theory of Effectivity or on domaintheoretic approaches, in which case the partial objects appearing during computations are made explicit. A further, more analysisoriented line of research is based on Grzegorczyk's work. All these approaches are claimed to be equivalent, but not in all cases proofs have been given. In this paper it is shown that a real number as well as a realvalued function are computable in Weihrauch's sense if and only if they are definable in Escardo's functional language Real PCF, an extension of the language PCF by a new ground type for (total and partial) real numbers. This is exactly the case if the number is a computable element in the continuous domain of all compact real intervals and/or the function has a computable extension to this doma...