An Extensible Interpreter for Value-Passing CCS (1995)
BibTeX
@MISC{Harcourt95anextensible,
author = {Ed Harcourt},
title = {An Extensible Interpreter for Value-Passing CCS},
year = {1995}
}
OpenURL
Abstract
We describe an interpreter for a value-passing version of CCS implemented in the lazy functional programming language Haskell. Starting from a base interpreter, we then show how to modify the interpreter for CCS extensions including, additional non-primitive combinators, new primitive operators (an interrupt operator), a time domain with a timeout operator useful in describing real-time systems, and higher order CCS where processes may be passed on channels. Keywords: Parallel programming, process algebra, functional programming, executable semantics. 1 Introduction Interpreters for computer languages are useful for many reasons. An interpreter may serve as an initial prototype of an implementation while more sophisticated tools are being developed. An interpreter allows a language designer to experiment with extensions or variations of a language. The ability to write and execute programs early in the language design process provides important feedback to the language designer for ...







