|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
|---|---|
| Continuation<T> | A thunk enabling iterative evaluation of a recursive function. |
| Class Summary | |
|---|---|
| ArgContinuation<T,R> | A continuation for results that depend on a single recursive invocation, followed by some additional computation. |
| BinaryArgContinuation<T1,T2,R> | A continuation for results that depend on a two recursive invocations, followed by some additional computation. |
| ComposedContinuation<T,R> | A continuation defined in terms of two other continuations, where the second is parameterized by the result of the first. |
| ContinuationTest | |
| PendingContinuation<T> | A continuation representing computation left to be done (in contrast to ValueContinuation,
which represents a completed computation). |
| PrecomputedRecursionStack<T,R> | A stack used to store the arguments of a recursive invocation in order to prevent infinite recursion. |
| PrecomputedRecursionStack2<T1,T2,R> | A stack used to store the arguments of a recursive invocation in order to prevent infinite recursion. |
| PrecomputedRecursionStack3<T1,T2,T3,R> | A stack used to store the arguments of a recursive invocation in order to prevent infinite recursion. |
| PrecomputedRecursionStack4<T1,T2,T3,T4,R> | A stack used to store the arguments of a recursive invocation in order to prevent infinite recursion. |
| RecursionStack<T> | A stack used to store the arguments of a recursive invocation in order to prevent infinite recursion. |
| RecursionStack2<T1,T2> | A stack used to store the arguments of a recursive invocation in order to prevent infinite recursion. |
| RecursionStack3<T1,T2,T3> | A stack used to store the arguments of a recursive invocation in order to prevent infinite recursion. |
| RecursionStack4<T1,T2,T3,T4> | A stack used to store the arguments of a recursive invocation in order to prevent infinite recursion. |
| RecurUtil | TODO: Is the extra overhead required to check for infinite loops enough to justify non-checking alternatives to safeToString, safeEquals, and safeHashCode? |
| ValueContinuation<T> | A continuation that is resolved at creation time. |
| Enum Summary | |
|---|---|
| RecurUtil.ArrayStringMode | Defines the representation to be used in array string-generating methods |
Classes enabling safe handling of infinite or extremely deep recursion.
RecursionStacks may be used to detect repetition in recursive invocations,
breaking an infinite recursive loop. Continuations allow recursive methods
to be processed iteratively, avoiding potential stack overflow errors. RecurUtil
takes advantage of these tools to define utility functions such as safeToString().
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||