Technical reports
The semantics and implementation of aggregates
or
how to express concurrency without destroying determinism
Thomas Clarke
July 1990, 25 pages
DOI: 10.48456/tr-197
Abstract
This paper investigates the relationship between declarative semantics and concurrent computation. A fundamental programming construction, the aggregate, is identified. Aggregates have a simple declarative semantics, yet cannot be written in pure functional languages. The addition of aggregates to a functional language increases expressiveness without destroying determinism or referential transparency. Specific aggregates can be used to implememnt concurrent graph marking, time deterministic merge of lazy lists, and write once locations.
Full text
PDF (1.8 MB)
BibTeX record
@TechReport{UCAM-CL-TR-197, author = {Clarke, Thomas}, title = {{The semantics and implementation of aggregates : or : how to express concurrency without destroying determinism}}, year = 1990, month = jul, url = {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-197.pdf}, institution = {University of Cambridge, Computer Laboratory}, doi = {10.48456/tr-197}, number = {UCAM-CL-TR-197} }