FutureValuesDoc.tioga
Copyright Ó 1992 by Xerox Corporation. All rights reserved.
Bier, July 5, 1993 5:39 pm PDT
Future Values
CEDAR 10.1
Future Values
Queuing a Request for Data
Eric A. Bier
Ó Copyright 1992 Xerox Corporation. All rights reserved.
Abstract: Some Cedar applications accept input in the form of commands that are placed on a queue. A first application, A, can drive a second one, B, by putting commands on B's input queue. This works fine if A just wants B to do something. However, sometimes A may wish B to return a value. This (very simple) package provides a data structure that can be placed on a queue to request that a value be returned, and a mechanism to block the caller until the value is available. This package has been used in Gargoyle. This release will allow other packages to use it as a standard.
FutureValues is the right choice when a consumer thread must wait for a producer thread to produce a value. In situations where any of several threads can produce the value, LazyEvaluation.df is an alternative.
Created by: Eric A. Bier
Maintained by: Eric A. Bier <Bier:PARC>
Keywords: future values, input queues, input languages, returned values, blocking
XEROX Xerox Corporation
Palo Alto Research Center
3333 Coyote Hill Road
Palo Alto, California 94304
1. To Use Future Values
There are no commands. Just put "Require Cedar FutureValues FutureValues" in your package's .require file.
See the interface, FutureValues.mesa, for more details.