Results 11 - 20
of
23
An Algebraic Framework For The Definition Of Compositional Semantics Of Normal Logic Programs
, 1994
"... ion) Given two normal programs P1 and P2, the following three facts are equivalent: (i) Sem(P 1) = Sem(P 2) (ii) For every program P , Sem(P [ P 1) = Sem(P [ P 2) (iii) For every program P , MP[P1 = MP[P2 . Proof. It is enough to prove that (iii) implies (i), because the other implications are d ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
ion) Given two normal programs P1 and P2, the following three facts are equivalent: (i) Sem(P 1) = Sem(P 2) (ii) For every program P , Sem(P [ P 1) = Sem(P [ P 2) (iii) For every program P , MP[P1 = MP[P2 . Proof. It is enough to prove that (iii) implies (i), because the other implications are direct consequences of lemma 3.1 and theorem 5.1. Let us suppose that there exists a model A in Mod(; ;) such that F 1(A) 6= F 2(A), where F1 = Sem(P 1) and F2 = Sem(P 2). Then, we will show that there exists a program P such that MP[P1 6= MP[P2 . Let j 2 IN be the least layer such that F 1(A) + j 6= F 2(A) + j or F 1(A) j 6= F 2(A) j . Then we can consider two cases. First, if there exists the given level k 2 IN , and F 1(A) + j 6= F 2(A) + j , for some j < k, then F 1(B) 6= F 2(B) for all models B 2 Mod(; ;) such that A + j = B + i and A j 1 = B i 1 for some layer i. This is the case for the model B such that, for all i 2 IN : B + i = A + j B i = A j 1 In any other cas...
Effective Applicative Structures
- In: Proceedings of the 6th biennial conference on Category Theory in Computer Science (CTCS'95). Springer-Verlag Lecture Notes in Computer Science 953 81--95
, 1995
"... S. All local authors can be reached viae-mail at theaddress last-name@cs.unibo.it. Written requests and comments should be addressed to tr-admin@cs.unibo.it. UBLCS Technical Report Series 93-20 An Information Flow Security Property for CCS, R. Focardi, R. Gorrieri, October 1993. 93-21 A Classifica ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
S. All local authors can be reached viae-mail at theaddress last-name@cs.unibo.it. Written requests and comments should be addressed to tr-admin@cs.unibo.it. UBLCS Technical Report Series 93-20 An Information Flow Security Property for CCS, R. Focardi, R. Gorrieri, October 1993. 93-21 A Classification of Security Properties, R. Focardi, R. Gorrieri, October 1993. 93-22 Real Time Systems: A Tutorial, F. Panzieri, R. Davoli, October 1993. 93-23 A Scalable Architecture for Reliable Distributed Multimedia Applications, F. Panzieri, M. Roccetti, October 1993. 93-24 Wide-Area Distribution Issues in Hypertext Systems, C. Maioli, S. Sola, F. Vitali, October 1993. 93-25 On Relating Some Models for Concurrency, P. Degano, R. Gorrieri, S. Vigna, October 1993. 93-26 Axiomatising ST Bisimulation Equivalence, N. Busi, R. van Glabbeek, R. Gorrieri, December 1993. 93-27 A Theory of Processeswith Durational Actions, R. Gorrieri, M. Roccetti, E. Stancampiano, December1993. 94-1 Further Modifications t...
Denotational Semantics of Object Specification
- Acta Informatica
, 1998
"... From an arbitrary temporal logic institution we show how to set up the corresponding institution of objects. The main properties of the resulting institution are studied and used in establishing a categorial, denotational semantics of several basic constructs of object specification, namely aggre ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
From an arbitrary temporal logic institution we show how to set up the corresponding institution of objects. The main properties of the resulting institution are studied and used in establishing a categorial, denotational semantics of several basic constructs of object specification, namely aggregation (parallel composition), interconnection, abstraction (interfacing) and monotonic specialization. A duality is established between the category of theories and the category of objects, as a corollary of the Galois correspondence between these concrete categories. The special case of linear temporal logic is analysed in detail in order to show that categorial products do reflect interleaving and reducts may lead to internal nondeterminism. Key words: object-orientation, system specification, temporal logic, institution, denotational semantics, duality. 1 Introduction The advantages of object-orientation in software engineering in general and system specification in particular...
Concrete Data Structures and Functional Parallel Programming
, 1997
"... We present a framework for designing parallel programming languages whose semantics is functional and where communications are explicit. To this end, we specialize Brookes and Geva's generalized concrete data structures with a notion of explicit data layout and obtain a CCC of distributed structures ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
We present a framework for designing parallel programming languages whose semantics is functional and where communications are explicit. To this end, we specialize Brookes and Geva's generalized concrete data structures with a notion of explicit data layout and obtain a CCC of distributed structures called arrays. We find that arrays' symmetric replicated structures, suggested by the data-parallel SPMD paradigm, are incompatible with sum types. We then outline a functional language with explicitly-distributed (monomorphic) concrete types, including higher-order, sum and recursive ones. In this language, programs can be as large as the network and can observe communication events in other programs. Such flexibility is missing from current data-parallel languages and amounts to a fusion with their so-called annotations, directives or meta-languages. 1 Explicit communications and functional programming Faced with the mismatch between parallel programming languages and the requirements o...
Axioms for Definability and Full Completeness
- in Proof, Language and Interaction: Essays in Honour of Robin
, 2000
"... ion problem for PCF (see [BCL86, Cur93, Ong95] for surveys). The importance of full abstraction for the semantics of programming languages is that it is one of the few quality filters we have. Specifically, it provides a clear criterion for assessing how definitive a semantic analysis of some langu ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
ion problem for PCF (see [BCL86, Cur93, Ong95] for surveys). The importance of full abstraction for the semantics of programming languages is that it is one of the few quality filters we have. Specifically, it provides a clear criterion for assessing how definitive a semantic analysis of some language is. It must be admitted that to date the quest for fully abstract models has not yielded many obvious applications; but it has generated much of the deepest work in semantics. Perhaps it is early days yet. Recently, game semantics has been used to give the first syntax-independent constructions of fully abstract models for a number of programming languages, including PCF [AJM96, HO96, Nic94], richer functional languages [AM95, McC96b, McC96a, HY97], and languages with non-functional features such as reference types and non-local control constructs [AM97c, AM97b, AM97a, Lai97]. A noteworthy feature is that the key definability results for the richer languages are proved by a reduction to...
An Introduction to Category Theory, Category Theory Monads, and Their Relationship to Functional Programming
"... Incorporating imperative features into a purely functional language has become an active area of research within the functional programming community [10, 7, 12]. One of the techniques gaining widespread acceptance as a model for imperative functional programming is monads [13, 9]. The purpose of th ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Incorporating imperative features into a purely functional language has become an active area of research within the functional programming community [10, 7, 12]. One of the techniques gaining widespread acceptance as a model for imperative functional programming is monads [13, 9]. The purpose of this technical report is to give a category theoretic introduction to monads, and to explore the relationship to what functional programmers term a monad. Keywords: Monads; Category theory; Kleisli triple; Imperative functional programming. 1 Motivation This paper stems from the desire for an understanding of Moggi's work on the computational -calculus and Monads [9, 8]. The presentation here owes much to the papers of Wadler [13, 14], and the basic texts on category theory [11, 1, 4, 6, 2]. 2 Basic category theory and monads Category theory is concerned with the observation that many of the properties from algebra can be simplified by a presentation in terms of diagrams containing arrows....
Extending graphical representations for compact closed categories with applications to symbolic quantum computation. AISC/MKM/Calculemus
, 2008
"... Abstract. Graph-based formalisms of quantum computation provide an abstract and symbolic way to represent and simulate computations. However, manual manipulation of such graphs is slow and error prone. We present a formalism, based on compact closed categories, that supports mechanised reasoning abo ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract. Graph-based formalisms of quantum computation provide an abstract and symbolic way to represent and simulate computations. However, manual manipulation of such graphs is slow and error prone. We present a formalism, based on compact closed categories, that supports mechanised reasoning about such graphs. This gives a compositional account of graph rewriting that preserves the underlying categorical semantics. Using this representation, we describe a generic system with a fixed logical kernel that supports reasoning about models of compact closed category. A salient feature of the system is that it provides a formal and declarative account of derived results that can include ‘ellipses’-style notation. We illustrate the framework by instantiating it for a graphical language of quantum computation and show how this can be used to perform symbolic computation. Key words: graph rewriting, quantum computing, categorical logic, interactive theorem proving, graphical calculi. 1
Lifting of Operations in Modular Monadic Semantics
, 2009
"... Monads have become a fundamental tool for structuring denotational semantics and programs by abstracting a wide variety of computational features such as side-effects, input/output, exceptions, continuations and non-determinism. In this setting, the notion of a monad is equipped with operations that ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Monads have become a fundamental tool for structuring denotational semantics and programs by abstracting a wide variety of computational features such as side-effects, input/output, exceptions, continuations and non-determinism. In this setting, the notion of a monad is equipped with operations that allow programmers to manipulate these computational effects. For example, a monad for side-effects is equipped with operations for setting and reading the state, and a monad for exceptions is equipped with operations for throwing and handling exceptions. When several effects are involved, one can employ the incremental approach to modular monadic semantics, which uses monad transformers to build up the desired monad one effect at a time. However, a limitation of this approach is that the effect-manipulating operations need to be manually lifted to the resulting monad, and consequently, the lifted operations are non-uniform. Moreover, the number of liftings needed in a system grows as the product of the number of monad transformers and operations involved. This dissertation proposes a theory of uniform lifting of operations that extends the incremental approach to modular monadic semantics with a principled technique for lifting operations. Moreover the theory is generalized from monads to monoids in a monoidal category, making it possible to apply it to structures other than monads. The extended theory is taken to practice with the implementation of a new extensible monad transformer library in Haskell, and with the use of modular monadic semantics to obtain modular operational semantics. i No hay ejercicio intelectual que no sea finalmente inútil. Una doctrina es al principio una descripción verosímil del universo; giran los años y es un mero capítulo—cuando no un párrafo o un nombre—de la historia de la filosofía. There is no exercise of the intellect which is not, in the final analysis, useless. A philosophical doctrine begins as a plausible description of the universe; with the passage of the years it becomes a mere chapter—if not a paragraph or a name—in the history of philosophy.
Structures for Lazy Semantics
- In Programming Concepts and Methods, PROCOMET'98. Chapman
, 1997
"... The paper explores different approaches for modeling the lazy -calculus, which is a paradigmatic language for studying the operational behaviour of programming languages, like Haskell, using a call-by-name and lazy evaluation mechanism. Two models for lazy -calculus in the coherence spaces setting a ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The paper explores different approaches for modeling the lazy -calculus, which is a paradigmatic language for studying the operational behaviour of programming languages, like Haskell, using a call-by-name and lazy evaluation mechanism. Two models for lazy -calculus in the coherence spaces setting are built. They give a new insight in the behaviour of the language since their local structures are different from the one of all existing models in the literature. In order to compare different models, a class of models for lazy -calculus is defined, namely, the lazy regular models class. All the models adequate for the lazy -calculus studied in the literature belong to this class. Moreover, all the lazy regular model share important properties, like the approximation property, which is a key tool for studying their local structure. 1
Parallel Haskell: The vectorisation monad
, 1993
"... It has long been known that some of the most common uses of for and while-loops in imperative programs can easily be expressed using the standard higher-order functions fold and map. With this correspondence as a starting point, we derive parallel implementations of various iterative constructs, ea ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
It has long been known that some of the most common uses of for and while-loops in imperative programs can easily be expressed using the standard higher-order functions fold and map. With this correspondence as a starting point, we derive parallel implementations of various iterative constructs, each having a better complexity than their sequential counterparts, and explore the use of monads to guarantee the soundness of the parallel implementation. As an aid to the presentation of the material, we use the proposed syntax for parallel Haskell [27] (figure 1) as a vehicle in which imperative functional programs will be expressed. Surprisingly, incorporating imperative features into a purely functional language has become an active area of research within the functional programming community [30, 24, 36, 20]. One of the techniques gaining widespread acceptance as a model for imperative functional programming is monads [38, 37, 26]. Typically monads are used to guarantee single threadedn...

