Results 1 -
2 of
2
A semantics for ML concurrency primitives
- In Proc. 17th Annual ACM Symposium on Principles of Programming Languages
, 1992
"... We present a set of concurrency primitives for Standard ML. We define these by giving the transitional semantics of a simple language. We prove that our semantics preserves the expected behaviour of sequential programs. We also show that we can define stores as processes, such that the representatio ..."
Abstract
-
Cited by 80 (3 self)
- Add to MetaCart
We present a set of concurrency primitives for Standard ML. We define these by giving the transitional semantics of a simple language. We prove that our semantics preserves the expected behaviour of sequential programs. We also show that we can define stores as processes, such that the representation has the same behaviour as a direct definition. These proofs are the first steps towards integrating our semantics with the full definition of Standard ML. 1 Background and Motivation There have been several attempts to add concurrency primitives to Standard ML (SML) and related languages [Hol83, Mat91, Rep91a, CM90, Ber89]. However, when we began this work none of these implementations had a published formal definition. The formal definition of SML is an integral part of the development of the language. If we are to add concurrency to the language, it is essential that we have a formal semantics for the new constructs that is compatible with the existing definition. In this paper we prese...
Programming with behaviors in an ML framework - The syntax and semantics of LCS
, 1994
"... LCS is an experimental high level asynchronous parallel programming language primarily aimed at exploring design, implementation and use of programming languages based upon the behavioral paradigms introduced by CSP and CCS. The language extends Standard ML with primitives for concurrency and com ..."
Abstract
-
Cited by 13 (5 self)
- Add to MetaCart
LCS is an experimental high level asynchronous parallel programming language primarily aimed at exploring design, implementation and use of programming languages based upon the behavioral paradigms introduced by CSP and CCS. The language extends Standard ML with primitives for concurrency and communication based upon a higher order extension of the CCS formalism. Typechecking enforces consistency of communications. An abstract operational semantics of the language is given in terms of a transition system.

