Results 1 -
1 of
1
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...

