Results 1 -
6 of
6
A Fully Abstract Semantics for a Concurrent Functional Language With Monadic Types
, 1995
"... This paper presents a typed higher-order concurrent functional programming language, based on Moggi's monadic metalanguage and Reppy's Concurrent ML. We present an operational semantics for the language, and show that a higherorder variant of the traces model is fully abstract for maytesting. This p ..."
Abstract
-
Cited by 20 (4 self)
- Add to MetaCart
This paper presents a typed higher-order concurrent functional programming language, based on Moggi's monadic metalanguage and Reppy's Concurrent ML. We present an operational semantics for the language, and show that a higherorder variant of the traces model is fully abstract for maytesting. This proof uses a program logic based on Hennessy-- Milner logic and Abramsky's domain theory in logical form. 1 Introduction This paper presents an operational semantics for a concurrent functional programming language, based on Reppy's [26, 27] Concurrent ML, and Moggi's [22] monadic metalanguage. CML is a concurrent extension of New Jersey ML, which adds communication primitives based on CCS [19] and CSP [11]. Reppy introduces a new type constructor of events, which can spawn concurrent processes, and communicate with them along channels. Three of the constructors for the event type are: always : a#aevent wrap : (aeventa#b)# (bevent) sync : aevent#a These are: . alwayse is an event whic...
Asynchronous process calculi: the first-order and higher-order paradigms (Tutorial)
, 1999
"... We compare the first-order and the higher-order... ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
We compare the first-order and the higher-order...
A Fully Abstract Semantics for a Higher-Order Functional Language With Nondeterministic Computation
, 1994
"... . This paper is about the relationship between the theory of monadic types and the practice of concurrent functional programming. We present a typed functional programming language CMML, with a type system based on Moggi's monadic metalanguage, and concurrency based on Reppy's Concurrent ML. We pre ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
. This paper is about the relationship between the theory of monadic types and the practice of concurrent functional programming. We present a typed functional programming language CMML, with a type system based on Moggi's monadic metalanguage, and concurrency based on Reppy's Concurrent ML. We present an operational and denotational semantics for the language, and show that the denotational semantics is fully abstract for may-testing. We show that a fragment of CML can be translated into CMML, and that the translation is correct up to weak bisimulation. Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Mathematical preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1 Categories and monads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Partial orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
Designing a Programming Language for Active Networks
, 1998
"... this paper, we describe our approach to designing active networks. By combining recent work on the semantics of computation with a pragmatic description of the processes of packet communication, we have produced a programming model that both protects the connectivity of the network and encourages pr ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
this paper, we describe our approach to designing active networks. By combining recent work on the semantics of computation with a pragmatic description of the processes of packet communication, we have produced a programming model that both protects the connectivity of the network and encourages programmers to think about AN programming in the "right" way. By using a strongly typed programming environment which embodies policies about safety within the type system, we can statically prove programs are safe, and improve efficiency by removing many run-time checks.
A Fully Abstract Semantics for a Nondeterministic Functional Language With Monadic Types
, 1995
"... This paper presents a functional programming language, based on Moggi's monadic metalanguage. In the first part of this paper, we show how the language can be regarded as a monad on a category of signatures, and that the resulting category of algebras is equivalent to the category of computationally ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
This paper presents a functional programming language, based on Moggi's monadic metalanguage. In the first part of this paper, we show how the language can be regarded as a monad on a category of signatures, and that the resulting category of algebras is equivalent to the category of computationally cartesian closed categories. In the second part, we extend the language to include a nondeterministic operational semantics, and show that the lower powerdomain semantics is fully abstract for may-testing. 1 Introduction Moggi has proposed strong monads as an appropriate way to model computation. In [9], he shows that any model of computation satisfying certain equations forms a strong monad. His work concentrates on the denotational properties of programs, whereas we shall show how his work can be applied to an operational semantics. In the first section of this paper, we present a slight variant on his functional monadic metalanguage and show that its algebras are equivalent to strong mo...
Semantics for core Concurrent ML using computation types
- Higher Order Operational Techniques in Semantics, Proceedings
, 1997
"... This paper presents two typed higher-order concurrent functional programming languages, based on Reppy's Concurrent ML. The first is a simplified, monomorphic variant of CML, which allows reduction of terms of any type. The second uses an explicit type constructor for computation, in the style of Mo ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
This paper presents two typed higher-order concurrent functional programming languages, based on Reppy's Concurrent ML. The first is a simplified, monomorphic variant of CML, which allows reduction of terms of any type. The second uses an explicit type constructor for computation, in the style of Moggi's monadic metalanguage. Each of these languages is given an operational semantics, which can be used as the basis of bisimulation equivalence. We show how Moggi's translation of the call-by-value lambdacalculus into the mondadic metalanguage can be extended to these concurrent languages, and that this translation is correct up to weak bisimulation. 1 Introduction Reppy's (1991, 1992) Concurrent ML is an extension of New Jersey ML with features for spawning threads, which can communicate by one-to-one synchronous handshake in the style of Milner's (1989) CCS. There are (at least) two approaches to giving the operational semantics to CML. The `functional language definition' tradition (Mi...

