Results 1  10
of
11
Continuous Functions and Parallel Algorithms on Concrete Data Structures
 IN MFPS'91, L.N.C.S
, 1991
"... We report progress in two closely related lines of research: the semantic study of sequentiality and parallelism, and the development of a theory of intensional semantics. We generalize Kahn and Plotkin's concrete data structures to obtain a cartesian closed category of generalized concrete dat ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
We report progress in two closely related lines of research: the semantic study of sequentiality and parallelism, and the development of a theory of intensional semantics. We generalize Kahn and Plotkin's concrete data structures to obtain a cartesian closed category of generalized concrete data structures and continuous functions. The generalized framework continues to support a definition of sequential functions. Using this ccc as an extensional framework, we define an intensional framework  a ccc of generalized concrete data structures and parallel algorithms. This construction is an instance of a more general and more widely applicable categorytheoretic approach to intensional semantics, encapsulating a notion of intensional behavior as a computational comonad, and employing the coKleisli category as an intensional framework. We discuss the relationship between parallel algorithms and continuous functions, and supply some operational intuition for the parallel algorithms. We s...
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 Cartesian Closed Category of Parallel Algorithms between Scott Domains
, 1991
"... We present a categorytheoretic framework for providing intensional semantics of programming languages and establishing connections between semantics given at different levels of intensional detail. We use a comonad to model an abstract notion of computation, and we obtain an intensional category fr ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
We present a categorytheoretic framework for providing intensional semantics of programming languages and establishing connections between semantics given at different levels of intensional detail. We use a comonad to model an abstract notion of computation, and we obtain an intensional category from an extensional category by the coKleisli construction; thus, while an extensional morphism can be viewed as a function from values to values, an intensional morphism is akin to a function from computations to values. We state a simple categorytheoretic result about cartesian closure. We then explore the particular example obtained by taking the extensional category to be Cont, the category of Scott domains with continuous functions as morphisms, with a computation represented as a nondecreasing sequence of values. We refer to morphisms in the resulting intensional category as algorithms. We show that the category Alg of Scott domains with algorithms as morphisms is cartesian closed. We...
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...
Stable and Sequential Functions on Scott Domains
, 1992
"... The search for a general semantic characterization of sequential functions is motivated by the full abstraction problem for sequential programming languages such as PCF. We present here some new developments towards such a theory of sequentiality. We give a general definition of sequential functions ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The search for a general semantic characterization of sequential functions is motivated by the full abstraction problem for sequential programming languages such as PCF. We present here some new developments towards such a theory of sequentiality. We give a general definition of sequential functions on Scott domains, characterized by means of a generalized form of topology, based on sequential open sets. Our notion of sequential function coincides with the KahnPlotkin notion of sequential function when restricted to distributive concrete domains, and considerably expands the class of domains for which sequential functions may be defined. We show that the sequential functions between two dIdomains, ordered stably, form a dIdomain. The analogous property fails for KahnPlotkin sequential functions. Our category of dIdomains and sequential functions is not cartesian closed, because application is not sequential. We attribute this to certain operational assumptions underlying our notio...
Sequential And Parallel Computation Strategies On Coherence Spaces
"... Curien defined the sequential algorithms as mathematical objects. For all Distributive Concrete Data Structure (dcds) M, M', he defines a dcds M M', the states of which are the sequential algorithms from M to M'. For all cds's M and M' that are, in particular, webs of coher ..."
Abstract
 Add to MetaCart
Curien defined the sequential algorithms as mathematical objects. For all Distributive Concrete Data Structure (dcds) M, M', he defines a dcds M M', the states of which are the sequential algorithms from M to M'. For all cds's M and M' that are, in particular, webs of coherence spaces, we define the linear algorithm as a state of a cds denoted by !M$M'. Given a stable function f: M M', we can obtain a linear algorithm that contains all the strategies of computation for computing f. In fact, this linear algorithm can be considered as a "metaalgorithm". We define a strategy of computation so as one can use such notion to give compositional operational semantics to programs segments. 1
Un Langage Explicitement Parall Ele Fonctionnel Pur D'ordre
, 1997
"... Nous presentons le noyau d'un langage explicitement parallele et fonctionnel pur d'ordre superieur CDS*. Il est base sur des structures de donnees concretes explicitement distribuees. Nous donnons un apercu de la semantique denotationnelle, operationnelle et d'une semantique de reecri ..."
Abstract
 Add to MetaCart
Nous presentons le noyau d'un langage explicitement parallele et fonctionnel pur d'ordre superieur CDS*. Il est base sur des structures de donnees concretes explicitement distribuees. Nous donnons un apercu de la semantique denotationnelle, operationnelle et d'une semantique de reecriture qui la realise. Des exemples illustrant l'expressivite du langage ainsi que la simulation de leur execution sont donnes.
Circuit Semantics and Intensional Expressivity
, 1996
"... We introduce a new denotational semantics for functional programming languages and use it to reason about intensional aspects of programs. Circuit semantics associates a gate with each basic construct of the language, and takes the meaning of a program to be a circuit. The dimensions of the circuit ..."
Abstract
 Add to MetaCart
We introduce a new denotational semantics for functional programming languages and use it to reason about intensional aspects of programs. Circuit semantics associates a gate with each basic construct of the language, and takes the meaning of a program to be a circuit. The dimensions of the circuit enable reasoning about running time and work required for execution. We use circuit semantics to obtain relative intensional expressiveness results between various deterministic and nondeterministic parallel extensions of PCF. 1 Introduction We are interested in establishing relative intensional expressiveness results for programming languages. Most work in the past has focused on extensional expressiveness: Language L 1 is extensionally more expressive than L 2 if L 1 can compute all the functions computable in L 2 . We say that language L 1 is intensionally more expressive than L 2 , if L 1 can compute all the functions computable in L 2 , with at least the same asymptotic complexity. T...
Un Langage Fonctionnel Pur D'ordre Supérieur Explicitement Parallèle
, 1997
"... : Nous pr'esentons le noyau d'un langage explicitement parall`ele et fonctionnel pur d'ordre sup'erieur CDS*. Il est bas'e sur des structures de donn'ees concr`etes explicitement distribu'ees. Nous donnons un aper¸cu de la s'emantique d'enotationnelle, op ..."
Abstract
 Add to MetaCart
: Nous pr'esentons le noyau d'un langage explicitement parall`ele et fonctionnel pur d'ordre sup'erieur CDS*. Il est bas'e sur des structures de donn'ees concr`etes explicitement distribu'ees. Nous donnons un aper¸cu de la s'emantique d'enotationnelle, op'erationnelle et d'une s'emantique de r'e'ecriture qui la r'ealise. Des exemples illustrant l'expressivit'e du langage ainsi que la simulation de leur ex'ecution sont donn'es. 1 Introduction Suivant l'approche de Berry et Curien des langages fonctionnels appliqu'ee au parall'elisme en processus statiques [10], nous avons [7], introduit les s'emantiques d'enotationnelle et op'erationnelle d'un langage explicitement parall`ele et purement fontionnel : CDS*. Il est inspir'e du langage s'equentiel fonctionnel CDS de Berry et Curien [1, 4] mais utilise les structures de donn'ees concr`etes g'en'eralis'ees de Brookes et Geva [3, 2] qui peuvent exprimer le parall'elisme. Au contraire du langage ADS0 [8] bas'e sur les structures de tableau de...
An Intensional Investigation of Parallelism
, 1994
"... Denotational semantics is usually extensional in that it deals only with input/output properties of programs by making the meaning of a program a function. Intensional semantics maps a program into an algorithm, thus enabling one to reason about complexity, order of evaluation, degree of parallelism ..."
Abstract
 Add to MetaCart
Denotational semantics is usually extensional in that it deals only with input/output properties of programs by making the meaning of a program a function. Intensional semantics maps a program into an algorithm, thus enabling one to reason about complexity, order of evaluation, degree of parallelism, efficiencyimproving program transformations, etc. I propose to develop intensional models for a number of parallel programming languages. The semantics will be implemented, resulting in a programming language of parallel algorithms, called CDSP. Applications of CDSP will be developed to determine its suitability for actual use. The thesis will hopefully make both theoretical and practical contributions: as a foundational study of parallelism by looking at the expressive power of various constructs, and with the design, implementation, and applications of an intensional parallel programming language. 1 Introduction Denotational semantics has now been around for about 25 years, which makes...