LazyEvaluationDoc.tioga
Copyright © 1992 by Xerox Corporation. All rights reserved.
Created by: Christian Jacobi, May 27, 1992
Christian Jacobi, July 1, 1993 10:53 am PDT
LazyEvaluation, Indirection.
Abstract: Simple primitives for lazy evaluation and indirection.
Created by: Christian Jacobi
Interfaces
LazyEvaluation.mesa
Indirection.mesa
Both interfaces are well documented. We recommend reading the interfaces and do not duplicate that information here.
The difference is that Indirection is supposed to be evaluated each time the value is requested whereas LazyEvaluation is evaluated at most once.
Rationale
Both packages are quite simple. By their existence these packages define type codes. It is intended that these typecodes might be recognized in general WITH SELECT statements. This is the reason to not make the handles opaque.
Indirection is actually so trivial that the publication of the typecodes could be considered the sole rationale for this interface.
LazyEvaluation has non-trivial monitor locking; it might therefore even be used for this functionality
Similar packages
Look also at FutureValues.df