Results 11  20
of
40
What is a Purely Functional Language?
 Journal of Functional Programming
, 1998
"... Functional programming languages are informally classified into pure and impure languages. The precise meaning of this distinction has been a matter of controversy. We therefore investigate a formal definition of purity. We begin by showing that some proposed definitions that rely on confluence, sou ..."
Abstract

Cited by 14 (6 self)
 Add to MetaCart
Functional programming languages are informally classified into pure and impure languages. The precise meaning of this distinction has been a matter of controversy. We therefore investigate a formal definition of purity. We begin by showing that some proposed definitions that rely on confluence, soundness of the beta axiom, preservation of pure observational equivalences, and independence of the order of evaluation, do not withstand close scrutiny. We propose instead a definition based on parameterpassing independence. Intuitively, the definition implies that functions are pure mappings from arguments to results; the operational decision of how to pass the arguments is irrelevant. In the context of Haskell, our definition is consistent with the fact that the traditional callbyname denotational semantics coincides with the traditional callbyneed implementation. Furthermore, our definition is compatible with the streambased, continuationbased, and monadbased integration of computa...
Notions of computability at higher types I
 In Logic Colloquium 2000
, 2005
"... We discuss the conceptual problem of identifying the natural notions of computability at higher types (over the natural numbers). We argue for an eclectic approach, in which one considers a wide range of possible approaches to defining higher type computability and then looks for regularities. As a ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
We discuss the conceptual problem of identifying the natural notions of computability at higher types (over the natural numbers). We argue for an eclectic approach, in which one considers a wide range of possible approaches to defining higher type computability and then looks for regularities. As a first step in this programme, we give an extended survey of the di#erent strands of research on higher type computability to date, bringing together material from recursion theory, constructive logic and computer science. The paper thus serves as a reasonably complete overview of the literature on higher type computability. Two sequel papers will be devoted to developing a more systematic account of the material reviewed here.
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...
A Computational Interpretation of the λµcalculus
 PROCEEDINGS OF SYMPOSIUM ON MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE
, 1998
"... This paper proposes a simple computational interpretation of Parigot's λµcalculus. The λµcalculus is an extension of the typedcalculus which corresponds via the CurryHoward correspondence to classical logic. Whereas other work has given computational interpretations by translating the λµcalculu ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
This paper proposes a simple computational interpretation of Parigot's λµcalculus. The λµcalculus is an extension of the typedcalculus which corresponds via the CurryHoward correspondence to classical logic. Whereas other work has given computational interpretations by translating the λµcalculus into other calculi, I wish to propose here that the λµcalculus itself has a simple computational interpretation: it is a typedcalculus which is able to save and restore the runtime environment. This interpretation is best given as a singlestep semantics which, in particular, leads to a relatively simple, but powerful, operational theory.
A Computational Interpretation of the λμcalculus
, 1998
"... This paper proposes a simple computational interpretation of Parigot's calculus. The calculus is an extension of the typed calculus which corresponds via the CurryHoward correspondence to classical logic. Whereas other work has given computational interpretations by translating the calculus int ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
This paper proposes a simple computational interpretation of Parigot's calculus. The calculus is an extension of the typed calculus which corresponds via the CurryHoward correspondence to classical logic. Whereas other work has given computational interpretations by translating the calculus into other calculi, I wish to propose here that the calculus itself has a simple computational interpretation: it is a typed  calculus which is able to save and restore the runtime environment. This interpretation is best given as a singlestep semantics which, in particular, leads to a relatively simple, but powerful, operational theory.
Comparing Hierarchies of Types in Models of Linear Logic
, 2003
"... We show that two models M and N of linear logic collapse to the same extensional hierarchy of types, when (1) their monoidal categories C and D are related by a pair of monoidal functors F : C D : G and transformations Id C ) GF and Id D ) FG, and (2) their exponentials ! are related by distri ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
We show that two models M and N of linear logic collapse to the same extensional hierarchy of types, when (1) their monoidal categories C and D are related by a pair of monoidal functors F : C D : G and transformations Id C ) GF and Id D ) FG, and (2) their exponentials ! are related by distributive laws % : ! : ! M G ) G ! N commuting to the promotion rule. The key ingredient of the proof is a notion of backandforth translation between the hierarchies of types induced by M and N. We apply this result to compare (1) the qualitative and the quantitative hierarchies induced by the coherence (or hypercoherence) space model, (2) several paradigms of games semantics: errorfree vs. erroraware, alternated vs. nonalternated, backtracking vs. repetitive, uniform vs. nonuniform.
Symmetry and Interactivity in Programming
 Bulletin of Symbolic Logic
, 2001
"... We recall some of the early occurrences of the notions of interactivity and symmetry in the operational and denotational semantics of programming languages. We suggest some connections with ludics. ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
We recall some of the early occurrences of the notions of interactivity and symmetry in the operational and denotational semantics of programming languages. We suggest some connections with ludics.
Recursive Types in Games: Axiomatics and Process Representation (Extended Abstract)
 IN PROCEEDINGS O.F LICS'98. IEEE COMPUTER
, 1998
"... This paper presents two basic results on gamebased semantics of FPC, a metalanguage with sums, products, exponentials and recursive types. First we give an axiomatic account of the category of games G introduced in [15], offering a fundamental structural analysis of the category as well as a transp ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
This paper presents two basic results on gamebased semantics of FPC, a metalanguage with sums, products, exponentials and recursive types. First we give an axiomatic account of the category of games G introduced in [15], offering a fundamental structural analysis of the category as well as a transparent way to prove computational adequacy. As a consequence we obtain an intensional fullabstraction result through a standard definability argument. Next we extend the category G by introducing a category of games G i with optimised strategies; we show that the denotational semantics in G i gives a compilation of FPC terms into core Pict codes (the asynchronous polyadic calculus without summation). The process representation follows a pioneering idea of Hyland and Ong [18]. However, we advance their representation by introducing semantically wellfounded optimisation techniques; we also exte...
Games and Sequential Algorithms
, 2001
"... The relationship between HylandOngstyle games and BerryCurien sequential algorithms is investigated, with the object of describing semantic solutions to two problems  to characterise eectively the \minimal models" of the simplytyped calculus and the fully abstract model of PCF with control ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
The relationship between HylandOngstyle games and BerryCurien sequential algorithms is investigated, with the object of describing semantic solutions to two problems  to characterise eectively the \minimal models" of the simplytyped calculus and the fully abstract model of PCF with control operators  which are shown to be equivalent.
A stable programming language
 I&C
"... It is wellknown that stable models (as dIdomains, qualitative domains and coherence spaces) are not fully abstract for the languagePCF. This fact is related to the existence of stable parallel functions and of stable functions that are not monotone with respect to the extensional order, which cann ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
It is wellknown that stable models (as dIdomains, qualitative domains and coherence spaces) are not fully abstract for the languagePCF. This fact is related to the existence of stable parallel functions and of stable functions that are not monotone with respect to the extensional order, which cannot be defined by programs ofPCF. In this paper, a paradigmatic programming language namedStPCF is proposed, which extends the languagePCF with two additional operators. The operational description of the extended language is presented in an effective way, although the evaluation of one of the new operators cannot be formalized in a PCFlike rewrite system. SinceStPCF can define all finite cliques of coherence spaces the above gap with stable models is filled, consequently stable models are fully abstract for the extended language. 1