[cap-talk] Understanding capabilities in a web-desktop setting

Mark Miller erights at gmail.com
Wed Aug 13 16:57:16 CDT 2008


On Wed, Aug 13, 2008 at 1:44 PM, David-Sarah Hopwood
<david.hopwood at industrial-designers.co.uk> wrote:
> I haven't heard "dataflow variable" used outside the context of
> concurrent logic programming (or systems inspired by Oz, even
> if those are not strictly logic programming systems).

From 16.6 of my thesis:

The notion of a delayed reference in software seems to originate with
the dataflow architec-
tures of Richard Karp and Raymond Miller [KM66] and Rodriguez [Rod67].
Bredt's survey
[Bre73] covers this and related early work. In our terms, pure dataflow
models provide for
parallelism but not for concurrency control. These pure models are
constrained to provide
the confluence property: the value computed is insensitive to the order
in which interme-
diate computations happen. Confluent models show how to use concurrency
for speedup
while keeping the semantics concurrency-free. These notions migrated
into pure lisp as
"promises" through the works of Friedman and Wise, for both lazy
evaluation [FW76a] and
eager evaluation [FW76b].
Baker and Hewitt's "futures"' [BH77] adapt pure lisp's promises to the
Actors context,
which can express concurrency control. [... more history ...]


Btw that wikipedia page says:

The pipelining technique (using futures to overcome latency) was first
invented for the Actor model and then re-invented by Barbara Liskov
and Liuba Shrira in 1988 and in the Project Xanadu (circa 1989).


That's the first I've heard of this earlier invention. Anyone know
anything about it?


-- 
Text by me above is hereby placed in the public domain

 Cheers,
 --MarkM


More information about the cap-talk mailing list