<<>> <> <> <> <<>> 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 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.